티스토리 뷰

블로그 온 사람들은 알겠지만 남들 방학이라고 하는 7~8월동안 이 블로그에 거의 글이 없었다. 고작해야 몇가지 팁이나 책 서평만 올라가 있고, 정작 기존에 다루던 내용에 대한 포스팅은 거의 이뤄지지 않았다. 사실 이런말 하기는 뭐하지만.. 바빴다. 뭐 노느라 바쁜 것도 있고, 마음도 싱숭생숭했고.. 그런데 방학전에 목표한 것이 있어서 그걸 좀 이루고 싶었다. 그래서 거기에 시간을 조금 투자하다보니까 블로그에 거의 글을 올리지 못했다. 

 그때 목표했던 것중 하나가 "무언가 특정 분야에서 성과와 결과를 얻자" 였었고, 그걸 보여줄 수 있는게 Coursera에서 제공하는 강의였다. 나는 거기서 강의를 두개 듣는데 하나가 지난 포스트에서 소개했던 Introduction To Guitar였었고, 마지막 하나가 바로 이번 포스트에서 소개할 Coding the Matrix 이다. 



이 강의는 Brown 대학의 Philip Klein 교수가 진행하는 과목인데 CS에서 많이 사용되는 Matrix에 대한 내용을 다룬다. 사실 컴공이나 전자쪽 계열에 처음 진입하면 배우는 과목이 미적분학과 선형대수학이다. 그런데 그런데 그 수업에서는 실상 그 과목에만 한정되어서 가르치기 때문에 실제로 뒤에서 어떻게 적용되는지를 이해할 수 없다. 이러다가 실제로 행렬연산이 많이 필요한 그래픽스나 통신 분야에서 무지막지한 수식을 보면 과연 내가 선형대수학을 제대로 배운건 많는건지 의문이 들 때가 있다. 개인적으로 생각하기엔 이 강의는 그런 사람들을 위한 강좌가 아니었나 생각한다. (이 강의는 7월 초에 개설되서 8월말에 끝나는 강좌이다. 아마 다음 학기나 내년에도 또 개설되지 않을까 예상한다.)

 이 강좌가 무엇보다도 좋았던 것은 아주 기초적인 내용부터 실습을 병행하면서 이해하게 도와준다는 것이다. 또 실생활에서 적용해 쓸 수 있을만한 예제를 제공해서 어떤식으로 적용할 수 있는지도 보여준다. 예를 들어 0주차부터 4주차까지는 Matrix 연산에 필요한 Vector의 개념과 Matrix의 개념, 그리고 Basis에 대한 설명이 진행되고 이를 활용할 수 있는 예제로 Hamming 코드 분석을 내준다. 그러면 학생들은 첨부된 자료들을 토대로 문제를 해결하고 정해진 기간내에 제출해서 점수를 받는 것이다. 참고로 숙제에 관한 포럼이 잘 되어 있기 때문에 숙제에 관해서 궁금한 점이 있다면 질문을 하면 답변이 금방금방 올라온다. 역시 전세계에서 학생들이 다 듣다보니 실력자들도 많고 달리는 답변들도 수준이 있는 편이다. 

 선형대수에 대해서 확실히 알고 있다고 생각하는 사람에게는 이 강의 후반부에 나오는 Gaussian Elimination과 Orthogonalization 쪽만 봐도 충분할 거 같지만 이 강좌는 스스로 고민해보면서 과제를 푸는데 의미가 있다고 생각한다. 시간이 있다면 한번 들어 볼 것을 추천한다.


PS: 강의 소개에서는 주당 5~7시간정도 투자한다면 된다지만 개인적으로는 이 강의 수강시 많은 시간이 요구된다고 생각한다.

댓글