| 
 Date   |  Topic and/or Event  |  Readings Due  | 
| 
September 4  |  Lecture 1: Introduction and Overview  |  Topic Notes: Introduction and Overview  | 
| 
September 6  |  No Class: State of the Map US 2019  |  Sebesta Ch. 1  | 
| 
September 9  |  Lecture 2: Overview of Languages; Lab 1; Lab 1: GitHub and Unix  |  Topic Notes: Overview of Languages  | 
| 
September 11  |  Lecture 3: Overview of Languages  |   | 
| 
September 13  |  Lecture 4: Languages Overview Wrapup; Pointers in C  |  Sebesta Ch. 2  | 
| 
September 16  |  Lecture 5: Syntax and Semantics  |  Sebesta Ch. 3.1-3.3; Topic Notes: Syntax and Semantics  | 
| 
September 18  |  Lecture 6: Syntax and Semantics; Lab 2: BNF and Parse Trees (paper handout)  |   | 
| 
September 20  |  Lecture 7: Attribute Grammars  |  Sebesta Ch. 3.4  | 
| 
September 23  |  Lecture 8: Lexical Analysis  |  Sebesta Ch. 4.1-4.2  | 
| 
September 25  |  Lecture 9: Parsing  |  Sebesta Ch. 4.3-4.4  | 
| 
September 27  |  Lecture 10: Parsing Wrapup; Lab 3: More Syntax (paper handout)  |   | 
| 
September 30  |  Lecture 11: Functional Programming; Learn You a Haskell for Great Good!  |  Topic Notes: Functional Programming; Learn You a Haskell for Great Good!  | 
| 
October 2  |  Lecture 12: Haskell  |   | 
| 
October 4  |  Lecture 13: Haskell  |   | 
| 
October 7  |  Lecture 14: Haskell  |   | 
| 
October 9  |  Lecture 15: Names, Bindings, and Scopes  |  Sebesta Ch. 5; Topic Notes: Names and Bindings  | 
| 
October 11  |  No class: President's Holiday  |   | 
| 
October 14  |  Lecture 16: Review  |   | 
| 
October 14  |  Evening Exam, available 6-10 PM  |   | 
| 
October 16  |  Lecture 17: Language Project Intro; Exam 1 Recap; A Little More Haskell; Language Project
[HTML]
[PDF]
 |   | 
| 
October 18  |  Lecture 18: Datatypes  |   Topic Notes: Data Types; Sebesta Ch. 6.1-6.9  | 
| 
October 21  |  Lecture 19: Datatypes  |  Sebesta Ch. 6.10-6.14  | 
| 
October 23  |  Lecture 20: Datatypes Wrapup  |   | 
| 
October 25  |  No class: CCSC Eastern  |   | 
| 
October 28  |  Lecture 21: Expressions and Assignment Statements  |  Sebesta Ch. 7; Topic Notes: Expressions and Assignment Statements  | 
| 
October 30  |  Lecture 22: Control Structures  |  Sebesta Ch. 8; Topic Notes: Control Structures  | 
| 
November 1  |  Lecture 23: Control Structures Wrapup  |   | 
| 
November 4  |  Lecture 24: Subprograms  |  Sebesta Ch. 9; Topic Notes: Subprograms  | 
| 
November 6  |  Lecture 25: Subprograms; Lab 4: Callback Functions in C  |   | 
| 
November 8  |  Lecture 26: Subprograms  |   | 
| 
November 11  |  Lecture 27: Subprogram Implementation  |  Sebesta Ch. 10  | 
| 
November 13  |  Lecture 28: Abstraction and Encapsulation  |  Sebesta Ch. 11; Topic Notes: Abstraction and Encapsulation  | 
| 
November 15  |  Lecture 29: Abstraction and Encapsulation Wrapup; OOP Implementation Issues  |  Sebesta Ch. 12; Topic Notes: Object-Oriented Programming Support  | 
| 
November 18  |  Lecture 30: OOP Implementation Issues  |   | 
| 
November 20  |  Lecture 31: OOP Implementation Issues  |   | 
| 
November 22  |  Lecture 32: OOP Implementation Issues Wrapup  |   | 
| 
November 25  |  No Class Meeting; Evening Exam, available 6-10 PM, RB 210  |   | 
| 
November 27-29  |  No Classes, Happy Thanksgiving!  |   | 
| 
December 2  |  Snow Day!  |   | 
| 
December 4  |  Lecture 33: Exam 2 Recap; Course Wrapup  |   | 
| 
December 6  |  Lecture 34: Language Project Presentations  |   | 
| 
December 9  |  Lecture 35: Language Project Presentations  |   | 
| 
December 11  |  Lecture 36: (9:00-10:30 AM Exam Slot) Language Project Presentations  |   | 
| 
 |