Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

University of Pennsylvania

Haskell: Lecture notes and assignments

University of Pennsylvania via Independent

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
This course introduces Haskell through lectures and weekly programming assignments. Topics include algebraic data types, recursion, polymorphism, type inference, lazy evaluation, IO, functors, applicative functors, and monads.

Syllabus

All homework assignments should emerge creatively from the Style guidelines. Homework is due each Monday by the start of class.

HW submission site / HW submission instructions

  • Week 1 (14 January): Introduction to Haskell ( html, lhs )

    • Homework 1: due Monday, 21 January.
  • Week 2 (21 January): Algebraic Data Types ( html, lhs )

    • Homework 2: due Monday, 28 January. [ error.log, sample.log, Log.hs ]
  • Week 3 (28 January): Recursion patterns, polymorphism, and the Prelude ( html, lhs )

    • Homework 3: due Monday, 4 February.
  • Week 4 (4 February): Higher-order programming and type inference ( html, lhs )

    • Homework 4: due Monday, 11 February.
  • Week 5 (11 February): More polymorphism and type classes ( html, lhs )

    • Homework 5: due Monday, 18 February. [ ExprT.hs, Parser.hs, StackVM.hs ]
  • Week 6 (18 February): Lazy evaluation ( html, lhs )

    • Homework 6: due Monday, 25 February.
  • Week 7 (25 February): Folds and monoids ( html, lhs )

    • Homework 7: due Monday, 11 March. [ Editor.hs, Buffer.hs, Sized.hs, StringBuffer.hs, StringBufEditor.hs, carol.txt ]
  • Week 8 (11 March): IO ( html, lhs )

    • Homework 8: due Monday, 18 March. [ Employee.hs, company.txt ]
  • Week 9 (18 March): Functors ( html, lhs )

    • Homework 9: due never (no HW this week).
  • Week 10 (25 March): Applicative functors (part 1) ( html, lhs )

    • Homework 10: due Monday, 1 April. [ AParser.hs ]
  • Week 11 (1 April): Applicative functors (part 2) ( html, lhs )

    • Homework 11: due Monday, 8 April. [ AParser.hs, SExpr.hs ]
  • Week 12 (8 April): Monads ( html, lhs )

    • Homework 12: due Monday, 15 April. [ Risk.hs ]

Reviews

Start your review of Haskell: Lecture notes and assignments

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.