Lecture Schedule
Date  Topic  Code  Reading  

Sep  5  Introduction 
Slides pdf Lec1 code html lhs 
RWH ch. 14 
10* 
Lists and FirstClass Functions 
Lec2 code html lhs hs 

12*  HigherOrder Programming Patterns 
Lec3 code html lhs hs 

17 
Userdefined Datatypes 
Lec4 code html lhs hs Lec4 stub html lhs hs SecretCode code html lhs hs SecretCode stub html lhs hs SecretCode2 code html lhs hs SecretCode2 stub html lhs hs 

19  Type Classes 
Classes code html lhs hs Classes stub html lhs hs 
RWH ch. 6  
24 
Type Classes (continued) HW #1 discussion 
RWH ch. 7 (IO monad)  
26  QuickCheck 
QuickCheck stub html lhs hs 

Oct  1 
QuickCheck (continued) HW #2 discussion 
QuickCheck
code html lhs hs 
RWH ch. 11 Shrinking and Showing Functions 
3  Intro to Monads 
Monads code html lhs hs Monads stub html lhs hs 
RWH ch. 7 & 14  
8  State Monad 
Monads2 code html lhs hs State code html lhs hs State stub html lhs hs 

10  State Monad (continued) 
Monads3 code html lhs hs Monads3 stub html lhs hs RandomGen code html lhs hs RandomGen stub html lhs hs 

15*  Parsing 
Parsers stub html lhs hs 
RWH ch. 10 & 16  
17  Parsing (continued) 
Parsers code html lhs hs Xml code html lhs hs Xml stub html lhs hs 

22  Fall Break (no class)  
24 
HW #4 discussion HW #3 discussion 
SatMonad stub html lhs hs 

29  Hurricane Sandy  Convert SatMonad stub code to use SatM monad.  
31  Monad Transformers 
Transformers
stub html lhs hs SatMonad code using state monad transformer html lhs hs 
RWH ch. 18  
Nov  5*  Monad Transformers (continued) 
Transformers
code (at end of class) html
lhs hs 
RWH ch. 18 
7*  Applicative Functors 
Applicative Functors html
lhs
hs
Applicative Functors stub html lhs hs 

12 
Persistent Data Structures 
Persistent code html lhs hs Persistent stub html lhs hs BST stub html lhs hs RedBlack stub html lhs hs 

14 
Generalized Algebraic Datatypes 
Nlist code hs RedBlack1 code html lhs hs 

19 
HW #7 Discussion GADTs (continued) 
RedBlack2 code html lhs hs RedBlack3 code html lhs hs 

21  Thanksgiving, no class 

26  Type checking WHILE 
While code hs While stub hs TypedWhile (doesn't compile) hs 

28  Yesod  
Dec  3 
HW #8 discussion Typebased reflection 
Types module hs TDP stub html lhs hs TDP code html lhs hs 

5  Reflection continued, wrap up 
Types2 module hs TDP2 stub html lhs hs TDP2 code html lhs hs 
*indicates dates when Prof. Weirich is away.
News :
Welcome to CIS 552!
See the home page for basic
information about the course, the schedule for the lecture notes
and assignments, the resources for links to the required software
and online references, and the syllabus for detailed information about
the course policies.