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.