CS 214--Programming Language Concepts--is organized by week, with each week structured as follows:
| Week | Readings (Chapters) |
Topics | Lab | Project |
|---|---|---|---|---|
| Part I | ||||
| 1 | 1, 2 | Course Introduction [Video Lecture 1.1] |
1 | 1 |
| 2 | 3, 4 | BNFs and Context Free Grammars [Video Lecture 2.1] [Video Lecture 2.2] |
2 | 2 |
| 3 | 8.1, 8.2, 8.3–8.6 | Control Structures [Video Lecture 3.1] [Video Lecture 3.2] |
3 | 3 |
| 4 | 5–7 | Types & Expressions [Video Lecture 4.1] [Video Lecture 4.2] |
4 | 4 |
| 5 | Test 1 | 5 | 5 | |
| Part II | ||||
| 6 | 9 | Subprograms & Parameter Passing [Video Lecture 6.1] [Video Lecture 6.2] |
6 | 6 |
| 7 | 10 | Identifier Scope [Video Lecture 7.1] [Go over Test 1] | 7 | 7 |
| 8 | 11.1–11.4 | Types, Part II [Video Lecture 8.1] [Video Lecture 8.2] |
8 | 8 |
| 9 | 11.5–11.7 | Encapsulation & Modularity [Video Lecture 9.1] [Video Lecture 9.2] |
9 | 9 |
| 10 | 12.1–12.6 | OOP, Inheritance & Polymorphism [Video Lecture 10.1] [Video Lecture 10.2] | 10 | 10 |
| 11 | 13 | Concurrency, Shared Memory [Video Lecture 11.1] [Video Lecture 11.2] |
11 | 11 |
| 12 | 13 | Concurrency, Distributed Memory [Video Lecture 12.1] [Video Lecture 12.2] | 12 | 12 (Extra Credit) |
| 13 | Formal Languages [Video Lecture 13.1] |
Study for the Final Exam! | ||
Both Test 1 and the Final Exam are accessible via the CS 214 Master Course in Moodle.