CSCE 544 Schedule (Spring 2026)


Lecture date Topics Notes
Jan 13 Syllabus, Lists and Tuples Program file, command line log. Recommended reading: A History of Haskell: Being Lazy With Class. A youtube video on history of Haskell is available here.
Jan 15 Lists, currying of functions, partial application Program file, command line log.
Jan 20 Anonymous functions, higher-order functions Program file, command line log.
Jan 23 Foldr and Foldl, defining data types in Haskell Program file, command line log.
Jan 27 Tree traversal, fold and map for trees, Maybe data type Program file, command line log.
Jan 29 Introduction to type classes Program file, command line log.
Feb 3 Monoids, categories and functors Program file, command line log, lecture note. Related reading from wikipedia: categories, functors
Feb 5 Functors composition and natural transformations Program file. Related reading from wikipedia: natural transformation
Feb 10 Category of endo-functors, monads, join and bind Program file, lecture note. Related reading from wikipedia: monad
Feb 12 Maybe monad, sequencing monadic computation with bind, do-notation Program file.
Feb 17 List monad and list comprehension, State monad Program file.
Feb 19 Applications of state monad, IO monad Program file.
Feb 24 System.Random, starting of Parser monad Program file, command line log.
Feb 27 Parser monad and parsing combinators Program file.
March 3 Midterm review Program file.
March 17 Parser monad and motivations of monad transformers Program file. Related paper: Monad transformers and modular interpreters
March 19 Monad transformer MaybeT Program file.
March 24 Monad transformer StateT Program file.
March 26 Parser via monad transformers Program file.
March 31 Introduction to Quick Check Program file. Related paper: QuickCheck: a lightweight tool for random testing of Haskell programs
April 2 Specifying properties, Generators and Arbitrary class Program file.
April 7 Generating random binary trees and random binary search tree Program file.
April 9 Testing binary search tree Program file.