Lecture Schedule
| Date | Topic | Code | Reading | |
|---|---|---|---|---|
| Sep | 5 | Introduction |
Slides pdf Lec1 code html lhs |
RWH ch. 1-4 |
| 10* |
Lists and First-Class Functions |
Lec2 code html lhs hs |
||
| 12* | Higher-Order Programming Patterns |
Lec3 code html lhs hs |
||
| 17 |
User-defined 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 Type-based 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.