Haskell logo CIS 552: Advanced Programming

Fall 2019

  • Home
  • Schedule
  • Homework
  • Resources
  • Style guide
  • Syllabus

Lecture Schedule

Date Module Topic
Wed, Aug 28 Lec1 Basics
Wed, Sep 4 Lec2 Structured Data and Lists
Mon, Sep 9 Lec3 Higher-Order Programming Patterns
Wed, Sep 11 DList In class exercise: Difference lists
Wed, Sep 11 SecretCode In class exercise: SecretCode
Mon, Sep 16 Lec4 User-defined datatypes
Wed, Sep 18 Foldr In class exercise: foldr
Wed, Sep 18 Kata19 In class exercise: Kata code review
Mon, Sep 23 Classes Type Classes
Wed, Sep 25 MonoidFoldable In class exercise: Semigroup, Monoid and Foldable
Mon, Sep 30 QuickCheck Type-directed Property Testing
Wed, Oct 2 QuickList In class exercise: QuickCheck properties for lists
Mon, Oct 7 Persistent A Persistent Set Interface
Mon, Oct 7 RedBlack Red Black Trees
Wed, Oct 9 Queue In class exercise: Purely Functional Queues
Mon, Oct 14 GADTs GADTs
Wed, Oct 16 RedBlackGADT Red-Black Trees with GADTs
Wed, Oct 16 RedBlackGADTBlackHeight Red-Black Trees with GADTs (BlackHeight)
Mon, Oct 21 Monads The Maybe and List Monads
Wed, Oct 23 GenericMonads In class exercise: General Monadic Functions
Mon, Oct 28 Monads2 The State Monad!
Mon, Oct 28 State A Generic State Transformer
Wed, Oct 30 RandomGen In class exercise: Random Generation
Mon, Nov 4 Parsers Parsing with Applicative Functors
Wed, Nov 6 Xml In class exercise: XML parsing
Mon, Nov 11 Transformers Monad Transformers
Wed, Nov 13 TransExercise In class exercise: TransExercise
Wed, Nov 13 WhileExn In class exercise: WhileExn
Mon, Nov 18 Client Concurrency client
Mon, Nov 18 Concurrency A Poor Man's Concurrency Monad
Wed, Nov 20 TransC In class exercise: Concurrency Monad Transformer
Mon, Nov 25 LiquidHaskell LiquidHaskell
Mon, Dec 2 ProjectWorkday Project Workday
Wed, Dec 4 Demo1 Project Demo
Mon, Dec 9 Demo2 Project Demo
Design adapted from Minimalistic Design | Powered by Pandoc and Hakyll