Lecture 1 - Functions
Lecture 2 - Types
Lecture 3 - Haskell
Lecture 4 - Running Haskell programs
Lecture 5 - Currying
Lecture 6 - Examples
Lecture 7 - Lists
Lecture 8 - Functions on lists
Lecture 9 - Characters and strings
Lecture 10 - Tuples
Lecture 11 - Computation as rewriting
Lecture 12 - Polymorphism and higher-order functions
Lecture 13 - Map and filter
Lecture 14 - List comprehension
Lecture 15 - Folding through a list
Lecture 16 - Measuring efficiency
Lecture 17 - Sorting
Lecture 18 - Using infinite lists
Lecture 19 - Conditional polymorphism
Lecture 20 - Defining functions in ghci
Lecture 21 - User-defined datatypes
Lecture 22 - Abstract datatypes
Lecture 23 - Modules
Lecture 24 - Recursive data types
Lecture 25 - Binary search trees
Lecture 26 - Balanced search trees
Lecture 27 - Arrays
Lecture 28 - Input/Output