Programming in Haskell
August – November 2015
Administrative Details
- Evaluation
- Assignments 30%, midsemester exam 30%, final exam 40%
- Copying is fatal
- Teaching assistants: Pranshu Bhatnagar, Anish Sevekari, Thejaswini
- Resources
- 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 4, 2015
- Lecture 2. August 6, 2015
- Lecture 3. August 11, 2015
- Lecture 4. August 13, 2015
- Lecture 5. August 18, 2015
- Lecture 6. August 20, 2015
- Lecture 7. August 25, 2015
- Lecture 8. August 27, 2015
- Lecture 9. September 1, 2015
- Lecture 10. September 3, 2015
- Lecture 11. September 10, 2015
- Lecture 12. September 15, 2015
- Lecture 13. September 29, 2015
- Lecture 14. October 1, 2015
- Lecture 15. October 6, 2015
- Lecture 16. October 13, 2015
- Lecture 17. October 15, 2015
- Lecture 18. October 20, 2015
- Lecture 19. October 27, 2015
- Lecture 20. October 29, 2015
- Lecture 21. November 3, 2015
- Lecture 22. November 5, 2015
- Lecture 23. November 12, 2015
Resources