coursera programming languages 코스 수료!

GunSmoke의 이미지

오랫동안 씨름하던 책이 출간되었다는 사실 보다 더 기쁜 일은 지난 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분이 가르치는 강의구요. 숙제가 간단한 파이썬 게임 만들어보기라 재미있을 것 같더라구요. 관심있으신 분들은 같이 수강해서 정보도 공유했으면 좋겠네요.

File attachments: 
첨부파일 크기
Image icon jjj.jpg49.42 KB
Image icon sdf.jpg56.96 KB

댓글

익명 사용자의 이미지

Lisp/scheme류 언어로군요? 재밌을 것 같네요. (사이트를 가보니 익숙한 람다 로고가 나오네요)
http://en.wikipedia.org/wiki/Racket_(programming_language)

http://docs.racket-lang.org/quick/

GunSmoke의 이미지

아~ 괄호!!! 정말 싫어요.

大逆戰

jhumwhale의 이미지

:)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.