coursera programming languages 코스 수료!
오랫동안 씨름하던 책이 출간되었다는 사실 보다 더 기쁜 일은 지난 10주 동안 해왔던 coursera의 programming languages 코스를 수료한 것입니다.
https://www.coursera.org/course/proglang
아무래도 혼자 공부하는데는 한계가 있기 마련이더라구요. 비전공자라서 대학 4년 기초과정을 차근차근 밟아오신 KLDP의 여러분들이 항상 부러웠는데coursera의 온라인 과정으로 오랜 갈증을 해소할 수 있었습니다.
programming languages 코스를 잠시 소개하면 University of Washington의 Dan Grossman 교수님이 강의하셨고 PL은 sml과 racket, ruby를 다뤘습니다. 10주동안 7개의 숙제를 제출했고 중간고사와 기말고사를 치뤘습니다. 마침 course survey에 그동안 배웠던 내용이 나와있어서 인용합니다.
Syntax vs. semantics vs. idioms vs. libraries vs. tools
ML basics (bindings, conditionals, records, functions)
Recursive functions and recursive types
Benefits of no mutation
Algebraic datatypes, pattern matching
Tail recursion
Higher-order functions; closures
Lexical scope
Currying
Syntactic sugar
Equivalence and effects
Parametric polymorphism
Type inference
Abstract types and modules
Racket basics
Dynamic vs. static typing
Laziness, streams, and memoization
Implementing languages via interpreters
Implementing first-class function closures
Macros
Eval
Ruby basics
Object-oriented programming is dynamic dispatch
Pure object-orientation
Implementing dynamic dispatch (in Racket)
Multiple inheritance, interfaces, and mixins
OOP vs. functional decomposition and extensibility
Subtyping for records, functions, and objects
Class-based subtyping
Subtyping
Subtyping vs. parametric polymorphism; bounded polymorphism
6~7주차 배우는 racket이 너무 생소해서 고생을 했구요.(지금도 괄호만 보면 치가 떨립니다.) 기말고사때 바쁜 일이 겹치는 바람에 공부를 많이 못해 시험 성적이 나빴습니다.(간신히 과락은 면했습니다.)
프로그래밍 언어에 관심 있으신 분들이라면 다음 강의가 시작하는 때를 기다리셨다가 꼭 수강하시기를 권해드립니다.
ps. 다음 과정을 'Functional Programming Principles in Scala'나 'Introduction to Systematic Program Design'를 권하시는 분이 많으신데 저는 racket에 데여서 'An Introduction to Interactive Programming in Python'을 수강신청했습니다.
course information에 보니까 Rice University의 교수님 4분이 가르치는 강의구요. 숙제가 간단한 파이썬 게임 만들어보기라 재미있을 것 같더라구요. 관심있으신 분들은 같이 수강해서 정보도 공유했으면 좋겠네요.
댓글
Lisp/scheme류 언어로군요? 재밌을 것
Lisp/scheme류 언어로군요? 재밌을 것 같네요. (사이트를 가보니 익숙한 람다 로고가 나오네요)
http://en.wikipedia.org/wiki/Racket_(programming_language)
http://docs.racket-lang.org/quick/
아~ 괄호!!! 정말 싫어요.
아~ 괄호!!! 정말 싫어요.
大逆戰
축하드립니다.
:)
댓글 달기