Spring 2016

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.

DateTopicReadingLecture NotesSupplemental ExamplesMonday, Jan. 11 Syllabus

OverviewChapter 1 of textbook Lecture Notes Wednesday, Jan. 13 Compilers

Regular expressionsSections 1.6, 2.1 Lecture Notes Friday, Jan. 15 Scanning and Flex Documentation

A tutorial

Nice overviewLecture Notes First example

Second exampleFriday, 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 HaskellLecture 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 prologLecture Notes firstexample.pl Friday, April 1 Prolog Lecture Notes lines.pl

descend.plMonday, April 4 Prolog Lecture Notes Wednesday, April 6 Prolog Lecture Notes Friday, April 8 Prolog: final examples DFA parsing

Graph coloringMonday, 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