A challenging course about programming languages that uses lots and lots of lambda calculus.
- Structural induction
- Operational, denotational, and axiomatic semantics
- Lambda calculus
- Types and type inference
- Concurrency (CSP)
- Miscellaneous topics (verified machine language, etc.)
Weekly problem sets, some of which are coding in OCaml, and some of which are “paper-and-pencil” (read: LaTex) exercises. Reasonably sized.
2 in-class prelims and a final.
Useful for: Programming Languages Vector.
Don’t take it based on an impression you have from the title. It’s not learning about Java, C, etc.
It’s about learning the theory behind PL. Lots of proofs (mostly induction), and so if you find that tedious, don’t take it.
Great Class! Nate Foster teaches this class really well and keeps it extremely organized. You won’t have any problems.
My mind was blown away when I took 3110. It was blown a few more times throughout this course.
One of the top 2 or 3 coolest CS classes I have taken. I agree with the mind blown stuff. It’s all so cool.
|Semester||Time||Professor||Median Grade||Course Page|
|Fall 2012||MWF 9:05 - 9:55||Nate Foster||A-||http://www.cs.cornell.edu/Courses/cs4110/2012fa/|