Date | Topic and/or Event | Readings Due |
September 5 | Lecture 1: Introduction and Overview | Topic Notes: Introduction and Overview |
September 7 | Lecture 2: Overview of Languages; Python Basics; Lab 1: Python Basics for Java Programmers [HTML] [PDF] | Sebesta Ch. 1 |
September 12 | Lecture 3: Overview and Evolution of Languages; More Python; Lab 2: More Python for Java Programmers [HTML] [PDF] | Sebesta Ch. 2 |
September 14 | Lecture 4: Syntax and Semantics; Problem Set 1: [PDF] Out | Sebesta Ch. 3.1-3.2; Topic Notes: Syntax and Semantics |
September 19 | Lecture 5: Syntax and Semantics; Lab 3: BNF and Parse Trees; Problem Set 2: [PDF] Out | Sebesta Ch. 3.3 |
September 21 | Lecture 6: Attribute Grammars | Sebesta Ch. 3.4 |
September 26 | Lecture 7: Introduction to Functional Programming and Haskell | Topic Notes: Functional Programming; Learn You a Haskell for Great Good! |
September 28 | Lecture 8: Haskell; Lab 4: Haskell Practice [HTML] [PDF] | |
October 3 | Exam 1, during class (Chapters 1-3) | |
October 5 | Lecture 9: Lexical Analysis; Problem Set 3: [HTML] [PDF] Out | Sebesta Ch. 4.1-4.2; Topic Notes: Lexical Analysis |
October 10 | Lecture 10: Parsing; Problem Set 4: [HTML] [PDF] Out | Sebesta Ch. 4.3-4.4; Topic Notes: Parsing |
October 12 | Lecture 11: Parsing; Lab 5: More Syntax |
October 17 | Lecture 12: Names, Bindings, and Scopes | Sebesta Ch. 5; Topic Notes: Names and Bindings |
October 19 | Lecture 13: Names, Bindings, and Scopes | |
October 24 | Lecture 14: Datatypes; Problem Set 5: [HTML] [PDF] Out | Sebesta Ch. 6.1-6.4; Topic Notes: Datatypes |
October 26 | Lecture 15: Datatypes | Sebesta Ch. 6.5-6.9 |
October 31 | Boo. Lecture 16: Datatypes; Language Project Intro; Review; Problem Set 6: [HTML] [PDF] Out; Language Project
[HTML]
[PDF]
| Sebesta Ch. 6.10-6.14 |
November 2 | Exam 2, during class (Haskell, Chapters 4, 5, parts of 6) | |
November 7 | Lecture 17: Expressions and Assignment Statements | Sebesta Ch. 7; Topic Notes: Expressions and Assignment Statements |
November 9 | Lecture 18: Expressions and Assignment Statements; Problem Set 7: [HTML] [PDF] Out | |
November 14 | Lecture 19: Control Structures | Sebesta Ch. 8; Topic Notes: Control Structures |
November 16 | Lecture 20: Control Structures; Subprograms | Sebesta Ch. 9; Topic Notes: Subprograms |
November 21 | Lecture 21: Subprograms | Sebesta Ch. 10 |
November 23 | No Classes, Happy Thanksgiving! | |
November 28 | Lecture 22: Subprograms and Subprogram Implementations; Problem Set 8: [HTML] [PDF] Out | |
November 30 | Lecture 23: Abstraction and Encapsulation | Sebesta Ch. 11; Topic Notes: Abstraction and Encapsulation |
December 5 | Lecture 24: Object-Oriented Programming Support | Sebesta Ch. 12; Topic Notes: Object-Oriented Programming Support |
December 7 | Lecture 25: Language Project Presentations | |
December 14 | Final Exam, 11:00 AM-1:00 PM, RB TBD | |
|