- T: Aug 21
|
|
- Dragon Ch. 1 - 2.3 & Ch. 3
- IntelliJ documentations & tutorials
- Git documentations & tutorials
- JUnit documentation & tutorials
|
|
|
- T: Aug 28
|
|
- Dragon Ch. 2.4 - 2.9 & Ch. 4
- ANTLR4 Book/Documentation
|
- Quiz 1: Scanners & Parsers
|
|
- T: Sep 4
|
- Abstract Syntax Tree
- Eclipse JDT
|
|
|
- Solo Project 1: Scanner & Parser (due Sep 17, 11:59pm, US Central)
|
- T: Sep 11
|
- Symbol Table
- Type Checking
- Bottom-up Parsers
|
- Dragon Ch. 2.7 & Ch. 6.1 - 6.5
|
|
|
- T: Sep 18
|
- Virtual Machine
- Code Generation: Eclipse JDT to Java bytecode using ASM
|
- Dragon Ch. 6.6 - 6.9 & Ch. 8.1-8.6
|
- Quiz 3: AST, Symbol Table, and Type Checking
|
- Solo Project 2: Abstract Syntax Tree (due Oct 1, 11:59, US Central)
|
- T: Sep 25
|
|
|
- Quiz 4: Virtual Machine & Bytecode Generation
|
|
- T: Oct 2
|
|
|
|
- Solo Project 3: Type Checking (due Oct 15, 11:59pm, US Central)
- Final Project (due Dec 12, 11:59pm, US Central)
|
- No Lab
|
- Static Analysis – Overview
- Static Analysis – Control Flow Graph (CFG)
- Static Analysis – Reaching Definition
|
- Nielson-Nielson-Hankin Ch. 1
- Dragon Ch. 9
|
- Quiz 5: Bytecode Optimization (take home)
|
|
- T: Oct 16
|
- Static Analysis – Classic Problems
- Static Analysis – Monotone Dataflow Framework
|
- Nielson-Nielson-Hankin Ch. 2
- Dragon Ch. 9
|
- Quiz 6: CFG & Reaching Definition Analysis
|
|
- T: Oct 23
|
|
|
- Quiz 7: Static Analysis – Classic Problems & Monotone Dataflow Framework
|
|
- T: Oct 30
|
|
|
|
- Quiz 5-7 Discussions
- Instructor Travel
|
- T: Nov 6
|
|
|
Exam: 1:05-2:55pm |
|
- No Lab
|
|
|
|
|
- Thanksgiving Break
|
|
|
|
|
- No Lab
|
|
|
|
- Final Project
- Instructor Travel (until Nov 28)
|
- Final Project Presentations
|
|
|
|
|
- W: Dec 12
|
|
|
|
|