Final grades are posted on Canvas.
Notes on the Use of Java in This Course
Assignment I, handed out on 1/15 and due on 1/26
Assignment II, handed out on 1/29 and due on 2/9
Assignment III, handed out on 2/17 and due on 3/1
Assignment IV, handed out on 3/4 and due on 3/22
Assignment V, published on 3/26 and due on 4/12
Assignment VI, published on 4/14 and due on 4/29
Please use Canvas to check your grades.
The Java Tutorials, particularly the Learning the Java Language tutorial
The Lex & YACC Page (including manuals for Flex and Bison)
Textbook webpage (including errata)
Week | Dates | Topics | Recommended Reading |
---|---|---|---|
1 | 01/13, 01/15 | Introduction; Phases of compilation; DJ; DISM | 1.1-1.7 |
2 | 01/22 | Lexical analysis | 2.1, 2.3 |
3 | 01/27, 01/29 | Lexical analysis | 2.2, 2.4, 2.6 |
4 | 02/03, 02/05 | Syntactic analysis | 3.1-3.4, 5.1-5.2 |
5 | 02/10, 02/12 | Syntactic analysis | 4.3.1-4.3.2, 5.3-5.5 |
6 | 02/17, 02/19 | Syntactic analysis | 4.1-4.2, 4.3.3 |
7 | 02/24, 02/26 | Test I | Class notes |
8 | 03/02, 03/04 | Syntactic analysis; Abstract syntax trees | Class notes |
9 | 03/09, 03/11 | Semantic analysis | Class notes |
10 | 03/23, 03/25 | Semantic analysis | Lecture notes |
11 | 03/30, 04/01 | Semantic analysis | Lecture notes |
12 | 04/06, 04/08 | Code generation | Lecture notes |
13 | 04/13, 04/15 | Code generation | Lecture notes |
14 | 04/20, 04/22 | Code generation | Lecture notes |
15 | 04/27, 04/29 | Code optimization; Runtime support; Garbage collection | Lecture notes |
Final | 05/04 | Final Exam | All tests are cumulative |