Programming in Haskell
August – November 2019
Administrative Details
- Evaluation
- Assignments 30%, midsemester exam 30%, final exam 40%
- Copying is fatal
- Teaching assistants: Zubin Duggal, Sahil Mhaskar, Dhruv Nevatia
- 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
Lectures
- Lecture 1. August 5, 2019
- Lecture 2. August 7, 2019
- Lecture 3. August 14, 2019
- Lecture 4. August 19, 2019
- Lecture 5. August 21, 2019
- Lecture 6. August 26, 2019
- Lecture 7. August 28, 2019
- Lecture 8. September 4, 2019
- Lecture 9. September 9, 2019
- Lecture 10. September 11, 2019
- Lecture 11. September 12, 2019
- Lecture 12. September 12, 2019
- Lecture 13. September 16, 2019
- Lecture 14. September 18, 2019
- Lecture 15. September 30, 2019
- Lecture 16. October 9, 2019
- Lecture 17. October 14, 2019
- Lecture 18. October 16, 2019
- Lecture 19. October 21, 2019
- Lecture 20. October 23, 2019
- Lecture 21. October 28, 2019
- Lecture 22. October 30, 2019
- Lectures 23 & 24. November 4 & 6, 2019
- Lecture 25. November 11, 2019
- Lecture 26. November 13, 2019