Course Home | Course Policies | Assignments | Schedule & Lecture Notes

CS 344: Programming Languages
Spring 2012

Erin Chambers
Contact Info: echambe5 - at - slu.edu
Office: 011 Ritter Hall
Office Hours: Monday 10-11am, Tuesday 10-11, and Wednesday 2-3


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, and plan accordingly to either take notes or get them from a friend if necessary.

Date Topic Reading Lecture Notes Supplemental Notes
Wednesday, Jan. 18 Syllabus
Overview
Chapter 1 of textbook Lecture Notes
Friday, Jan. 20 Intro to compiling Chapter 1 Lecture Notes
Monday, Jan. 23 Regular expressions and DFAs Chapter 2.1-2.2 Lecture Notes
Wednesday, Jan. 25 More regular expressions, CFLs Chapter 2.1-2.2 Lecture Notes
Friday, Jan. 27 Flex Lecture Notes flex tutorial
Monday, Jan. 30 Chomsky Normal Form Lecture Notes Extra notes, sections 11 and 12
Wednesday, Feb. 1 Conversion to CNF Lecture Notes
Friday, Feb. 3 The CYK algorithm Lecture Notes Extra notes, section 15
Monday, Feb. 6 LL grammars Chapter 2.3 Lecture Notes
Friday, Feb. 10 LR grammars Chapter 2.3-2.4 Lecture Notes
Monday, Feb. 13 LR grammars Chapter 2.3-2.4 Powerpoint slides
Wednesday, Feb. 15 Scopes of variables Chapter 3 Powerpoint slides
Friday, Feb. 17 Scopes and binding Chapter 3 Powerpoint slides
Monday, Feb. 20 Control Flow Chapter 6 Powerpoint slides
Wednesday, Feb. 22 More control Flow Chapter 6 Powerpoint slides
Monday, Feb. 27 Types Chapter 7 Powerpoint slides
Wednesday, Feb. 29 Records and Lists Chapter 7 Powerpoint slides
Friday, March 2 Haskell various references Lecture Notes
Monday, March 5 In class review
Wednesday, March 7 Midterm exam
Friday, March 9 Haskell Online references Lecture Notes
Monday, March 19 Haskell various sources Lecture Notes
Wednesday, March 21 Haskell: higher order functions Lecture Notes
Friday, March 23 Haskell: more higher order functions Online references Lecture Notes
Monday, March 26 Types in Haskell various sources Lecture Notes
Wednesday, March 28 Modules in Haskell Lecture Notes
Friday, March 30 Functors in Haskell Online references Lecture Notes
Monday, April 2 More functors in Haskell various sources Lecture Notes
Wednesday, April 4 Parsing with Haskell Lecture Notes
Wednesday, April 11 Prolog and Logic languages Chapter 11 Lecture Notes
Friday, April 13 More Prolog Chapter 11 Lecture Notes
Monday, April 16 Prolog examples Chapter 11 Lecture Notes Online Tutorial
Wednesday, April 18 Prolog examples Chapter 11 DFA Parser
Map coloring
Friday, April 20 Scripting Languages Chapter 13 Lecture Notes
Monday, April 23 Scripting Languages Chapter 13 Lecture Notes
Wednesday, April 25 Scripting Languages Chapter 13 Lecture Notes
Friday, April 27 Concurrency Chapter 12 Lecture Notes
Monday, April 30 Concurrency Chapter 12 Lecture Notes
Wednesday, May 2 Historical overview Chapter 13 Lecture Notes
Friday, May 4 Game show (review)