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

CS 3200: Programming Languages
Spring 2016

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


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
Monday, Jan. 11 Syllabus
Overview
Chapter 1 of textbook Lecture Notes
Wednesday, Jan. 13 Compilers
Regular expressions
Sections 1.6, 2.1 Lecture Notes
Friday, Jan. 15 Scanning and Flex Documentation
A tutorial
Nice overview
Lecture Notes First example
Second example
Friday, Jan. 22 DFAs, NFAs, and regular expressions Sections 2.2 Lecture Notes
Monday, Jan. 25 CFGs: CNF and CYK Sections 2.2,2.3 Lecture Notes Extra reference, lectures 11 and 12
Wednesday, Jan. 27 CFGs: CNF and CYK Sections 2.3 Lecture Notes Extra reference, lectures 11 and 12
Friday, Jan. 29 CFGs: LL and LR Sections 2.3 Lecture Notes
Monday, Feb. 1 Parsing Section 2.3 Lecture Notes
Wednesday, Feb. 3 Bindings and Scope Chapter 3 Lecture Notes
Friday, Feb. 5 Bindings and Scope Chapter 3 Lecture Notes
Monday, Feb. 8 Expressions, Statements, and flow of execution Chapter 6.1-6.3 Lecture Notes
Wednesday, Feb. 10 Sequencing, selection, and recursion Chapter 6.3-6.10 Lecture Notes Dijkstra's GOTO article
Friday, Feb. 12 Type checking, records and arrays Chapter 7.1-7.4 Lecture Notes
Monday, Feb. 15 Pointers and recursive types, file I/O Chapter 7.4-7.10 Lecture Notes
Wednesday, Feb. 17 Methods and control abstraction Chapter 8 Lecture Notes
Friday, Feb. 19 More on methods Chapter 8 Lecture Notes
Monday, Feb. 22 Intro to Haskell Gentle intro to Haskell
Learn you a Haskell
Programming in Haskell
Lecture Notes Can programming be liberated from the von Neumann style?
Wednesday, Feb. 24 Haskell: types and functions Lecture Notes
Friday, Feb. 26 Haskell: Typeclasses and higher order functions Lecture Notes
Monday, Feb. 29 Haskell: Type and data definitions Lecture Notes
Wednesday, March 2 Exam review
Friday, March 4 Midterm exam
Wednesday, March 16 Haskell: Type declarations Lecture Notes
Friday, March 18 Haskell: Types and Modules Lecture Notes
Monday, March 21 Haskell: Modules and I/O Lecture Notes
Wednesday, March 23 Haskell: Functors and Monads Notes from lecture
Wednesday, March 30 Intro to Prolog Learn Prolog Now
Learning prolog via examples
Intro to prolog
Lecture Notes firstexample.pl
Friday, April 1 Prolog Lecture Notes lines.pl
descend.pl
Monday, April 4 Prolog Lecture Notes
Wednesday, April 6 Prolog Lecture Notes
Friday, April 8 Prolog: final examples DFA parsing
Graph coloring
Monday, April 11 Scripting languages Chapter 13 of text Lecture Notes
Wednesday, April 13 Scripting languages Chapter 13 of text Lecture Notes
Friday, April 15 Scripting languages Chapter 13 of text Lecture Notes
Monday, April 18 Concurrency Chapter 12 of text Lecture Notes
Friday, April 22 Concurrency Chapter 12 of text Lecture Notes
Monday, April 25 COBOL Lecture Notes
Friday, April 29 Teaching languages Lecture Notes
Monday, May 2 Historical overview Lecture Notes