| Week | Topic |
| February 23 – 28 | Introduction |
| March 2 – 7 | History |
| March 9 – 14 | Describing Syntax and Semantics |
| March 16 – 21 | Lexical and Syntax Analysis |
| March 23 – 28 | Names, Bindings, Type Checking, Scopes, Data Types |
| March 30 – April 4 | Data Types, Expressions and Assignment Statements
|
April 6 – 11
| Control Structures
|
Midterm Exams (April 10 - 25)
|
| April 27 – May 2 | Functional Programming and Logic Programming
|
| May 4 – 9 | Subprograms |
| May 11 – 16 | Implementing Subprograms |
| May 18 – May 23 | Abstract Data Types and Encapsulation Concepts |
May 25 – 30
| No Lecture
|
| Jun 1 – 6 | Support for Object-Oriented Programming |
| Jun 8 – 13 | Concurrency and Exception Mechanism (if time permits)
|
Final Exams (Jun 15 – 27)
|