Recently I finished my first course on Coursera.org: Programming Languages, offered by Professor Dan Grossman, University of Washington. The course introduced basic concepts and implementation ideas of three programming languages, Standard ML, Racket and Ruby, with emphsis on functional programming and object-oriented programming.
Before that I have some experience with Scheme, the predecessor of Racket, and also Racket itself. But I never used of Standard ML. Though, from my perspective, most of the content is not hard for me. As part of the class, I implemented a small interpreter in Racket, akin to the interperter from the Chapter 10, The Little Schemer. The course also discussed many topics related to language design, such as dynamic type vs static type, strong type vs weak type.
In a word, it’s a pretty cool taste as the first programming language course for undergraduate students, with easy-to-understand materials, and the instructor is very nice and patience.
Here is my statement of accomplisment :)