Lectures Mon 8:30–10:15, Wed 10:30–12:15 in Room SI-007
Programming languages references
[Dragon] Compilers: Principles, Techniques, and Tools, 2nd edition
Alfred Aho, Monica Lam, Ravi Sethi, and Jeffrey Ullman, 2006. (amazon.de) — The first edition is also (mostly) acceptable, and cheaper, but chapter references will be to the second edition.
[Bird] Thinking Functionally with Haskell
Richard Bird, 2015
(Earlier edition: Introduction to Functional Programming by Richard Bird and Philip Wadler, 1988)
Haskell references
Real World Haskell
Bryan O'Sullivan, Don Stewart, and John Goerzen, 2008
Introduction to Functional Programming Using Haskell
Richard Bird, 1998
Learn You a Haskell for Great Good!
Miran Lipovańća, 2011
A Gentle Introduction to Haskell
Paul Hudak, John Peterson, Jospeh Fasel, 2000
Neil Mitchell, 2012
Class Q&A Website L&C on Piazza
Grading 30% Homeworks, 30% Quizzes, 40% Final exam


  • Coming soon!

Course staff

IMPORTANT Please contact us using Piazza rather than email.

Nate Nystrom instructor

Office SI-203
Office hours TBA

Nosheen Zaza teaching assistant

Office Open Space (2nd floor)
Office hours TBA

Schedule Subject to change



You will be graded on programming assignments, quizzes, and a final exam. There will be approximately one assignment per week. Assignments will consist of programming exercises in Haskell and a several small compiler implementation projects. There will be approximately one 15-minute quiz per week.

Group Work

Assignments will include both written and programming assignments. You are encouraged to work on the programming assignments with your classmates. The contributions of each student must be explicitly described. All students are responsible for understanding the assignments.


Assignments should be submitted through Github.

Cheating and plagiarism is unacceptable

You are free to discuss assignments and solutions with others. However, you must write your own assignments, and must not represent any portion of others' work as your own. Assignments found to have been plagiarized will be given a grade of -100%.

Collaboration on quizzes and exams is forbidden.