CPSC 429/529: Functional Programming

 

Instructor: Carsten Schürmann
Department of Computer Science
Yale University
Time: MWF 9:30-10:30
Room: AKW200

  Home
  Schedule
  Handouts
  Assignments
  Projects
  Links
 
 

Schedule

Lecture 1 : Overview.
Lecture 2 : Axioms and Inference rules.
Lecture 3 : Introduction to Haskell 1.
Lecture 4 : Introduction to Haskell 2.
Lecture 5 : Functions.
Lecture 6 : Recursion and Type preservation.
Lecture 7 : Datatypes.
Lecture 8 : Datatype cont'd.
Lecture 9 : Polymorphism.
Lecture 10 : Hindley Milner Type Systems.
Lecture 11 : Pattern Matching and Unification.
Lecture 12 : Programming with State.
Lecture 13 : Recitation.
Lecture 14 : Lazy Datastructures and Coinduction.
Lecture 15 : No lecture.
Lecture 16 : Coinduction.
Lecture 17 : Functional Data Structures.
Lecture 18 : Continuations.
Lecture 19 : Regular acceptors.
Lecture 20 : An introduction to Monads.
Lecture 21 : Some easy Monads.
Lecture 22 : Cancelled.
Lecture 23 : Exploiting Laziness.
Lecture 24 : Monad Laws.
Lecture 25 : State Monad.
Lecture 26 : Cominator Parsing.
Lecture 27 : Combinator Parsing cont'd.
Lecture 28 : Module systems.
Lecture 29 : Midterm.
Lecture 30 : Recitation
Lecture 31 : Yampa Part 1.
Lecture 32 : Type Classes.
Lecture 33 : Module Systems.
Lecture 34 : Yampa Part 2.
Lecture 35 : Polytypic Programming.
Lecture 36 : ML with references.
Lecture 37 : Recitation.
Lecture 38 : Modules.
Lecture 39 : Pan.