Power
Welcome
Welcome to COS 326: Functional Programming. In this course, you will learn about the joy of functional programming: From functions to futures, map-reduce to monads, interfaces to invariants, and types to tail calls. Note these web pages are currently under construction and will be changing.
Getting Started
- Go to our page on installing OCaml and VSCode.
- Go to the Course Info page and take a look at the course policies on collaboration, late assignments and other things.
- Check out the schedule of lectures, precepts, and assignments.
- Visit Ed for announcements and Q&A.
Course Overview
In the world of large language models and AI coding agents, it is easier than ever to generate code, but a key question remains: How do we know the code we have generated does what we want? This class will introduce students to functional programming and techniques for specifying, generating, testing, and reasoning about programs. Topics include an introduction to the principles and practice of functional programming; type systems; specification of program properties; property-based testing; logic, theorem provers, and reasoning about program correctness.