Class Information

CS43 - Winter Quarter 2019

General Info

This course explores the philosophy and fundamentals of functional programming, focusing on the Haskell language, its theoretical underpinnings, and practical applications. Topics include: functional abstractions (function composition, higher order functions), immutable data structures, type systems, and various functional design patters (monads, etc).

Resources

There is no formal textbook, but we recommend the Haskell wikibook as a primary reference. A larger compilation of resources can be found here.

Assignments

Prerequisites

There are no formal prerequisites, but we recommend “programming and mathematical maturity.” In terms of Stanford courses, CS107 + CS103 or equivalent experience will suffice.

Expectations

To pass the class (graded C/NC), we expect:

  1. Attendance in \(\ge\) 80% of lectures.
  2. Successful completion of \(\ge 6/8\) assignments, which are designed to take around an hour each.

We also welcome open source contributions to the course materials; we will offer extra credit for this on a case-by-case basis to replace assignments.

Attendance form

The attendance form is here.