Date |
Topic |
Assignments Due |
Readings/Discussions/Assignments (do readings before class!) |
Slides |
Tues Aug 29 |
Course Overview |
|
|
Lecture 1 |
Thurs Aug 31 |
Cool (Classroom Object-Oriented Language), Course Project |
|
|
Lecture 2 |
Tues Sept 5 |
Lexical Analysis |
|
Programming Project 1 |
|
Thurs Sept 7 |
More Lexical Analysis |
|
Reading: Selected topics from Chapter 3 (as covered in lecture) |
Lecture 3 |
Tues Sept 12 |
Regular Expressions and Formal Languages |
|
Written Assignment 1 |
|
Thurs Sept 14 |
Implementing Lexers with Finite Automata |
|
Reading: Begin reading Chapter 4 |
Lecture 4 |
Tues Sept 19 |
Implementing Lexers with Finite Automata (cont.) |
|
|
|
Thurs Sept 21 |
Context-Free Grammars |
Programming Project 1 |
Programming Project 2 |
Lecture 5 |
Tues Sept 26 |
Top Down Parsing
Recursive Descent Parsing |
Written Assignment 1 |
Written Assignment 2 |
Lecture 6 |
Thurs Sept 28 |
Abstract Syntax Trees
Bottom-Up parsing |
|
|
Lecture 7 |
Tues Oct 3 |
|
|
|
|
Thurs Oct 5 |
Bottom-Up Parsing (cont.) |
|
First Midterm Exam distributed |
Lecture 8 |
Tues Oct 10 |
Semantic Analysis
Type Checking |
|
|
Lecture 9 |
Thurs Oct 12 |
Type Checking (cont.) |
Programming Project 2 due |
|
Lecture 10 |
Tues Oct 17 |
Fall Break |
Thurs Oct 19 |
Run-time Environments |
First Midterm Exam due
Written Assignment 2 due |
Programming Project 3
Written Assignment 3 |
Lecture 11 |
Tues Oct 24 |
Run-time Environments (cont.) |
|
|
Lecture 12 |
Thurs Oct 26 |
Code Generation |
|
|
Lecture 13 |
Tues Oct 31 |
|
|
|
|
Thurs Nov 2 |
Local Optimization |
Written Assignment 3 due |
|
Lecture 14 |
Tues Nov 7 |
Global Optimization |
|
|
Lecture 15 |
Thurs Nov 9 |
Register Allocation |
Programming Project 3 due |
Programming Project 4 |
Lecture 16 |
Tues Nov 14 |
Automatic Memory Management |
|
Second Midterm Exam distributed |
Lecture 17 |
Thurs Nov 16 |
Java |
|
Written Assignment 4 |
Lecture 18 |
Tues Nov 21 |
|
|
|
Lecture 19 |
Thurs Nov 23 |
Thanksgiving Break |
Tues Nov 28 |
|
|
|
|
Thurs Nov 30 |
Superoptimization |
Second Midterm Exam due Written Assignment 4 due |
|
Lecture 20 |
Tues Dec 5 |
|
Programming Project 4 due |
|
Genetic Algorithms Intro. |
Thurs Dec 7 |
|
|
|
|
Mon Dec 11 |
Final Exam (2:00 - 5:00 pm) |
|
|
|