Here is this semester's tentative schedule; we will update it as the semester progresses.
Please note that lecture notes are provided as a supplement, and are NOT a substitute for attending lecture. In particular, these are not guaranteed, so expect technical difficulties to prevent them from being posted at least a few times in the semester; they also will not contain exercises whose solutions are worked out on the board in class. Please plan accordingly to either take notes or get them from a friend if necessary.
Date Topic Reading Lecture Notes Supplemental Examples Monday, Jan. 13 Syllabus
OverviewChapter 1 of textbook Slides Wednesday, Jan. 15 Compilation Chapter 1 of textbook Slides Wednesday, Jan. 22 Scanning and DFAs Chapter 2 of textbook Slides Friday, Jan. 24 NFAs Chapter 2 of textbook Slides Monday, Jan. 27 NFAs and regular expression recap Chapter 2 of textbook Slides Wednesday, Jan. 29 Flex Flex tutorial
Flex manual
Flex bookSlides countcharandline.lex
abcdexample.lex
getusername.lex
zapme.lex
countwords.lexFriday, Jan 31 to Monday, Feb. 10 LL and LR parsing with sub Chapter 2 of textbook
handouts from class
Compilers (aka the dragon book)Wednesday, Feb. 12 Parsing wrapup Chapter 2 of textbook Slides Friday, Feb. 14 Scope and Binding Chapter 3 of textbook Slides Monday, Feb. 17 Scope and Binding (cont) Chapter 3 of textbook Slides Wednesday, Feb. 19 Control Flow Chapter 6 of textbook Slides Friday, Feb. 21 Control Flow (cont) Chapter 6 of textbook Slides Monday, Feb. 24 Variables and Types Chapters 7-8 of textbook Slides Wednesday, Feb. 26 Variables and Types Chapters 7-8 of textbook Slides Monday, March 2 Review session Wednesday, March 4 Midterm Friday, March 6 Subroutines Chapters 9 Slides Friday, March 27 Running Haskell, plus Ch1 and Ch2 questions Zoom recording Friday, April 3 Ch 4 questions Zoom recroding Monday, April 6 Chapter 5-6 questions/overview Zoom recording Wednesday, April 15 Chapter 6-7 questions/overview Zoom recording (Access Password: y1?0g4Z9) Friday, April 17 Chapter 8 questions/overview Zoom recording (password u6^&11==) Monday, April 20 Chapter 8 and 9 Zoom recording (password 3p=$8d!n) Friday, April 24 IO and functors again Powerpoint slides
Zoom recording (Password: 5l@9+Ers)Monday, April 27 More functors Zoom recording (Password: 2h&.x+%$) Friday, May 1 Monads and Applicative Monads in pictures Slides
Zoom recording (Password: 5u*s6aSZ)Monday, May 4 History of programming languages Slides
Zoom recording (Password: 0J*OS876)