All homework assignments should emerge creatively from the Style guidelines. Homework is due at midnight at the end of the day listed. All homework submission is via Canvas
Week 1 (Wednesday, 21 January): Introduction to Haskell ( html, lhs )
- Homework 1: due Wednesday, 28 January. [ HW01.hs, HW01Tests.hs, Testing.hs ]
Week 2 (Wednesday, 28 January): Polymorphism and Functional Programming ( html, lhs )
- Homework 2: due Wednesday, 4 February. [ HW02.hs, HW02Tests.hs ]
Week 3 (4 February): Algebraic Data Types ( html, lhs )
- Homework 3: due Wednesday, 11 February. [ HW03.hs, Fun.hs ]
Week 4 (11 February): Typeclasses ( html, lhs )
- Homework 4: due Wednesday, 18 February. [ HW04.hs, Lec04.hs ]
Week 5 (18 February): I/O ( html, lhs )
- Homework 5: due Wednesday, 25 February. [ HW05.hs, Parser.hs, clues.zip, Lec05.hs ]
Week 6 (25 February): Lazy Evaluation ( html, lhs )
- Homework 6: due Wednesday, 4 March. [ HW06.hs ]
Week 8 (18 March): Monads II ( html, lhs )
- Keep working on Homework 7!
Week 9 (25 March): Testing ( html, lhs )
- Write the proposal for your Final Project
Week 10 (1 April): Type Wizardry ( html, lhs )
- Homework 8: due Wednesday, 8 April. [ HW08.hs ]
Week 11 (8 April): GADTs in Action ( html, lhs ) [ Stlc.hs ]
- Start working of your final project!
Week 12 (15 April): Unsafe Haskell ( html, lhs )
- Keep working of your final project!
Week 13 (22 April): Making Haskell Projects ( html, lhs )
- Keep working of your final project!