Lecture 1 - Functions and types - 1
Lecture 2 - Functions and types - 2
Lecture 3 - Functions and types - 3
Lecture 4 - Haskell demo
Lecture 5 - Recursive functions - 1
Lecture 6 - Recursive functions - 2
Lecture 7 - Lists - 1
Lecture 8 - Lists - 2
Lecture 9 - Lists demo
Lecture 10 - Built-in functions on lists, list notations - 1
Lecture 11 - Built-in functions on lists, list notations - 2
Lecture 12 - Char, String, tuples, etc
Lecture 13 - Haskell demo
Lecture 14 - Higher-order functions
Lecture 15 - Folds
Lecture 16 - More folds
Lecture 17 - Higher-order functions: demo
Lecture 18 - Polymorphism and type classes
Lecture 19 - User-defined data types
Lecture 20 - Demo session: user-defined types
Lecture 21 - Demo session: problem solving
Lecture 22 - Recursive data types - 1
Lecture 23 - Recursive data types - 2
Lecture 24 - Computation as rewriting
Lecture 25 - Input/output : basics - 1
Lecture 26 - Input/output : basics - 2
Lecture 27 - Input/output : loops - 1
Lecture 28 - Input/output : loops - 2
Lecture 29 - Measuring efficiency
Lecture 30 - Sorting
Lecture 31 - Merge sort
Lecture 32 - Quick sort
Lecture 33 - Exploring graphs - connectedness
Lecture 34 - Exploring graphs - eight queens problem
Lecture 35 - Abstract data types - Stacks
Lecture 36 - Abstract data types - Queues
Lecture 37 - Binary trees - 1
Lecture 38 - Binary trees - 2
Lecture 39 - Binary search trees - 1
Lecture 40 - Binary search trees - 2
Lecture 41 - AVL trees - 1
Lecture 42 - AVL trees - 2
Lecture 43 - Leftist heaps - 1
Lecture 44 - Leftist heaps - 2
Lecture 45 - Immutable arrays using Data.Array
Lecture 46 - Dynamic programming in Haskell
Lecture 47 - Solving Sudoku - An example of a full-fledged program development