CS51 Lectures

Videos

Lecture videos are available here (HUID/PIN login required).

Interface for lecture feedback.

Schedule

Number Date Topics Slides and Code Readings
1 Jan 29 Course Overview pptx, pdf, 4-up,
find.ml
2 Jan 29-Feb 7 Intro. to Functional Programming in OCaml pptx, pdf, 4-up,
intro.ml
FATP: Chapter 1, OCaml Ref: Chapter 1
3 Feb 7-12 Polymorphism and Higher-Order Functions pptx, pdf, 4-up,
poly-ho.ml
FATP: 1.5, 2.2.5
4 Feb 14-19 Substitution Model of Evaluation pptx, pdf, 4-up,
eval0.ml, eval1.ml, eval2.ml, eval3.ml
FATP: 3.1-3.2
5 Feb 19-26 Modules and Abstract Data Types pptx, pdf, 4-up,
modules.ml
FATP: 2.2.8, OCaml Ref: Chapter 2,
DAOC Chapter 14
6 Feb 28-Mar 5 Complexity Analysis of Programs pptx, pdf, 4-up,
timing.ml
Wikipedia article on Analysis of Algorithms and
Big-O
7 Mar 14 (Pi Day!) Mutation and Other Effects pptx, pdf, 4-up FATP: Chapter 4
8 Mar 26 Laziness and Infinite Data Structures pptx, pdf, 4-up,
lazy.ml
9 Mar 28-Apr 2 Introduction to Objects and Classes pptx, pdf, 4-up Ch. 3, Ocaml Reference Manual.
10 Apr 4-9 Events pptx, pdf, 4-up events.ml
11 Apr 11-16 Introduction to Parallelism pptx, pdf, 4-up threads.ml