Programming in Haskell
August – November 2017
Administrative Details
- Evaluation
- Assignments 30%, midsemester exam 30%, final exam 40%
- Copying is fatal
- Teaching assistants: Agnishom Chattopadhyay, Kishlaya Jaiswal
- References
- Submit all assignments on Moodle only. Further instructions will be given as part of the assignments.
Course Plan
- Introduction to Haskell and the ghci interpreter
- Defining functions: guards, pattern matching and recursion
- Lists, strings and tuples
- Types and polymorphism
- Higher order functions on lists: map, filter, list comprehension
- Computation as rewriting, lazy evaluation and infinite data structures
- Conditional polymorphism and type classes
- User defined datatypes: lists, queues, trees
- Input/output and the ghc compiler
- Arrays
Assignments
Lectures
- Lecture 1. August 9, 2017
- Lecture 2. August 14, 2017
- Lecture 3. August 16, 2017
- Lecture 4. August 21, 2017
- Lecture 5. August 23, 2017
- Lecture 6. August 28, 2017
- Lecture 7. August 30, 2017
- Lecture 8. September 4, 2017
- Lecture 9. September 6, 2017
- Lecture 10. September 11, 2017
- Lecture 11. September 18, 2017
Resources