Final grades are posted on Blackboard.
Notes on the Use of Java in This Course
Assignment I, handed out on 8/29 and due on 9/8
Assignment II, handed out on 9/10 and due on 9/22
Assignment III, handed out on 9/24 and due on 10/13
Test I (given on 10/08)
Assignment IV, handed out on 10/15 and due on 10/27
Assignment V, handed out on 10/29 and due on 11/17
Test II (given on 11/05)
Assignment VI, handed out on 11/19 and due on 12/08
Test III (given on 12/12)
Please use Blackboard 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)
Jison, a tool for building parse tables by Zach Carter (an alumnus of this course)
Week | Dates | Topics | Reading |
---|---|---|---|
1 | 08/27, 08/29 | Introduction; Phases of compilation; DJ; DISM | 1.1-1.7 |
2 | 09/03, 09/05 | Lexical analysis | 2.1-2.3, 2.6 |
3 | 09/10, 09/12 | Lexical and syntactic analysis | 2.4, 3.1-3.4 |
4 | 09/17, 09/19 | Syntactic analysis | 5.1-5.2, 4.3.1-4.3.2 |
5 | 09/24, 09/26 | Syntactic analysis | 5.3-5.5, 4.1-4.2, 4.3.3 |
6 | 10/01, 10/03 | Advanced topics in syntactic analysis; Review | Class notes |
7 | 10/08, 10/10 | Test I | Class notes |
8 | 10/15, 10/17 | Abstract syntax trees; Semantic analysis | Class notes |
9 | 10/22, 10/24 | Semantic analysis | Class notes |
10 | 10/29, 10/31 | Semantic analysis; Code generation; Review | 7.1 |
11 | 11/05, 11/07 | Test II | Class notes |
12 | 11/12, 11/14 | Code generation | 7.3.1, 7.4 |
13 | 11/19, 11/21 | Garbage collection | Class notes |
14 | 11/26 | Code optimizations | Class notes |
15 | 12/03, 12/05 | Code optimizations; Bootstrapping; Review | 8.9, Reflections on Trusting Trust (alternate link) |
Final | 12/12 | Final Exam, 5:30-7:30pm | All tests are cumulative |