[2016.03.08] 온라인 강좌
돈 없어도 마음만 먹으면 공부하기 쉬운 세상이다. MOOC(Massive Open Online Courses)라는 이름으로 국내외 유수의 강의가 공개되어 있다. 수료증을 받으려면 돈을 내야 하는 경우가 많지만, 수료증을 받지 않더라도 콘텐츠의 상당 부분은 활용할 수 있어 좋다. 오프라인 학교 강의보다는 강제성이 없어 웬만한 의지로는 지속하기 어렵다는 문제가 있지만, 온라인 강의 특성상 반복 학습이 가능한 장점이 있다. 초창기와는 다르게 오프라인 강의를 녹화한 것이 아니라, 온라인용으로 새로 콘텐츠를 제작했기 때문에 온라인 학습에 적절한 형태를 갖추고 있다.
그동안 수많은 강의를 신청했었다. 끝까지 마무리 지은 적은 두 번에 불과하다. 그것조차도 강의는 제대로 듣지 않고 문제만 열심히 풀어서 수료한 경우이다. 최근 다시 강의를 듣기 시작하면서 목표를 바꿨다. 무조건 한 번에 한 과목만 수강하고, 아무리 진도가 느리게 나가더라도 내용 이해를 목표로 하기로 했다. 진도가 너무너무 느리게 나갈 가능성이 있다. 하지만, 진도를 빼는 것을 목적으로 하는 것보다는 남는 게 훨씬 많을 것이다.
스탠퍼드가 개설했던 Mining Massive Datasets라는 강의를 듣기 시작했다. 총 7주 코스인데 이제 1주차를 거의 마무리했다. 대용량 데이터 분석에 사용되는 MapReduce, 구글 검색 엔진의 기초가 되는 PageRank에 대해 배웠다. 프로그래밍 과제가 PageRank 알고리즘을 구현해서 약 80만 개의 node와 500만 개의 edge에 대한 정보에서 PageRank를 계산하는 것이다. c++로 여차여차 구현해서 답을 맞히기는 했는데, 너무 느리다. 시간을 두고 개선을 해봐야겠다. 퀴즈 문제도 4문제를 풀었는데, 한 문제를 빼고는 문제 이해도 제대로 못 하고 사람들이 discussion한 내용을 참고해서 겨우 답을 이해했다. 재미있기는 한데, 너무 느리다. 점점 빨라지려나?