NYU Programming Languages Notes
These are my notes for NYU’s Master’s-level Programming Languages course (CSCI-GA.2110), which I took in the Spring 2016 semester. Below are detailed notes for every lecture, as well as notes for a few recitations, in the cases where the recitation material was useful and differentiated enough from the lectures.
These were taken on-the-fly during the lectures, and haven’t really been edited, so they might not be perfect or complete, but may still be useful.
If you found this useful, feel free to shoot me an email, tweet at me, or browse the rest of the site!
Jan 27: Intro, Turing machines, and syntax
Jan 28 (Recitation): More on compilation, regexes, and CFGs
Feb 3: Regular expressions, context-free grammars, and scoping
Feb 4 (Recitation): A few CFG examples
Feb 10: Scoping, higher-order functions, and Ada
Feb 17: Ada and parameter passing
Feb 24: The runtime stack, and Scheme
Mar 2: More Scheme
Mar 9: Even more Scheme, and the lambda calculus
Mar 23: Recursion and reduction order in the lambda calculus
Mar 24 (Recitation): More on currying and the Y combinator
Mar 30: ML programming
Mar 31 (Recitation): More on the Y combinator, order of application, and Church encoding
Apr 6: More ML, and object-oriented programming
Apr 13: Subtyping on functions, and generic types
Apr 20: Subtyping of generic classes, and Scala
Apr 27: More Scala, and heap allocation
May 4: Heap allocation internals, garbage collection, and exam review