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

CS 344: Programming Languages
Spring 2014

Erin Chambers
Contact Info: echambe5 - at -
Office: 011 Ritter Hall
Office Hours: Tuesday 1-3pm, Wednesday 9-10am

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 Examples
Tuesday, Jan. 14 Syllabus
Chapter 1 of textbook Lecture Notes
Tuesday, Jan. 21 Compilers
Regular expressions
Sections 1.6, 2.1 Lecture Notes
Thursday, Jan. 23 DFAs and CFGs
Sections 2.1-2.2 Lecture Notes
Tuesday, Jan. 28 Flex Documentation
A tutorial
Nice overview
Lecture Notes First example
Second example
Thursday, Jan. 30 Bison
Chomsky Normal Form
Additional notes, sections 11-12 Lecture Notes
Tuesday, Feb. 4 Chomsky Normal Form
CYK algorithm
Additional notes, sections 12 and 18 Lecture Notes
Thursday, Feb. 6 LL and LR grammars Section 2.3 of textbook Lecture Notes
Tuesday, Feb. 11 LL and LR parsing Chapter 2 of textbook Lecture Notes
Thursday, Feb. 13 Names and Scopes Chapter 3 of textbook Lecture Notes
Tuesday, Feb. 18 Scopes and Binding Chapter 3 of textbook Lecture Notes
Thursday, Feb. 20 Control Flow Chapter 6 of textbook Lecture Notes Dijkstra's Go To article
Tuesday, Feb. 25 Control Flow Chapter 6 of textbook Lecture Notes Article on enumeration in Objective-C
Thursday, Feb. 27 Data Types Chapter 7 of textbook Lecture Notes
Tuesday, March 4 Review
Thursday, March 6 Midterm
Tuesday, March 18 Intro to Haskell Gentle Intro to Haskell
Learn You a Haskell
Programming in Haskell
Lecture Slides
Thursday, March 20 Haskell: functions and types Lecture Slides
Tuesday, March 25 Haskell: typeclasses and higher order functions Lecture Slides
Thursday, March 27 Haskell: types Lecture Slides
Tuesday, April 1 Haskell: modules Lecture Slides
Thursday, April 3 Haskell: functors Lecture Slides
Tuesday, April 8 Prolog: intro Lecture Slides
Thursday, April 10 Prolog: more details Lecture Slides Nice reference
Tuesday, April 15 Prolog: examples Tutorial Examples
Tuesday, April 22 Scripting languages Chapter 13 of book Lecture slides
Thursday, April 24 Concurrency Chapter 12 of book Lecture slides
Tuesday, April 29 A historical overview various sources
See especially this one
Lecture slides