From the course catalog:
A thorough examination of issues and features in language design and implementation, including language-provided data structuring and data-typing, modularity, scoping, inheritance and concurrency. Compilation and run-time issues. Introduction to formal semantics.
Prerequisites: CSCI052 PO and CSCI062 PO (or the CMC equivalents); or CSCI060 HM and CSCI070 HM. This course is required for CS majors. Please see the syllabus for more information.
Homeworks
I urge you to use the Haskell documentation as well as the library documentation in Hackage and Hoogle.
| Homework | Posted | Due | |
|---|---|---|---|
| 10 | Concurrency | 2015-12-04 | 2015-12-12 | 
| 9 | Using monads in anger | 2015-11-20 | 2015-12-02 | 
| 8 | Type classes | 2015-11-09 | 2015-11-15 | 
| 7 | Recursive types and algebraic data types | 2015-10-23 | 2015-11-03 | 
| 6 | Types and type checking | 2015-10-09 | 2015-10-18 | 
| 5 | Parsing | 2015-10-01 | 2015-10-11 | 
| 4 | Lambda calculus interpreter | 2015-09-26 | 2015-10-02 | 
| 3 | Working with semantics | 2015-09-18 | 2015-09-24 | 
| 2 | Haskell training, part II; semantics | 2015-09-11 | 2015-09-17 | 
| 1 | Haskell training, part I | 2015-07-27 | 2015-09-10 | 
Office hours
| Day | Time | Location | |
|---|---|---|---|
| Joanna Finkelstein | Monday | 7–9pm | Edmunds 227 | 
| Joshua Landgraf | Tuesday | 7–9pm | Edmunds 227 | 
| Ryan Luo | Wednesday | 7–9pm | Edmunds 227 | 
| Prof. Michael Greenberg | Thursday | 1–4pm | Edmunds 225 | 
Lectures
In the readings, “M” refers to our textbook, Concepts in Programming Languages by John C. Mitchell.