This is a tentative syllabus for the course. Links will be added regularly with current/upcoming topics and assignments. Notes will be provided for each class, linked from the date. Unless otherwise indicated, references are to the textbook (The Haskell School of Expression, or "SOE"). Feedback is appreciated — typos, suggestions for more detailed explanations, additional examples, etc.

DateTopicsReferencesOutDue
Sept 21IntroCh. 1; Learn Haskell in 10 minutesSA-0
Sept 22 (x)List processingHow to work on lists; Prelude docs
Sept 23Recursion, pattern matchingSA-1SA-0
Sept 26Data, representing shapesCh. 2SA-2SA-1
Sept 28I/O, graphics, drawing shapesCh. 3, 4SA-3PS-1SA-2
Sept 30Polymorphism, higher-order functionsCh. 5, 9SA-4SA-3
Oct 3Finish up anonymous functions, composition, drawing shapesSA-4
Oct 5TreesCh. 7SA-5PS-2PS-1
Oct 7Abstract data typesSA-6SA-5
Oct 10Iteration (motifs)SA-6
Oct 12InductionSA-7PS-3PS-2
Oct 14Induction, cont.
Oct 17Search (Sudoku)SA-7
Oct 19DatabasesSA-8PS-4PS-3
Oct 20 (x)Review session, x-hour. See also practice exams on Blackboard
Midterm, 7-10pm, 003 Rockefeller
Oct 21Type classesCh. 12, skim Ch. 24
Oct 24Graph search; stacks and queuesSA-8
Oct 26Intro to parsingPS-5PS-4
Oct 28Parsing sentencesSA-9
Oct 31Parsing expressionsSA-9
Nov 2Regions and picturesCh. 8, 10PS-6PS-5
Nov 4No Class
Nov 7Region extensions; interactionSA-10
Nov 9Intro to streamsCh. 14PS-7SA-11PS-6
Nov 11More streams: digital logic, math
Nov 14Catch upSA-10
Nov 16Intro to monadsSec. 18.2
Nov 18List, IO, and state monadsSec. 18.3, 18.4SA-12SA-11
Nov 21Spelling Corrector
Nov 28ConcurrencySA-12
Nov 30Concurrency: transactionsBeautiful concurrencyPS-7
Dec 2Review session, 10:00am, 006 KemenySee also practice exams on Blackboard
Dec 5Final, 8-11 am, LSC 200