| Monday-Tuesday-Wednesday
(lecture/activity days) |
Friday
(closed lab day) |
Lab assignment due at midnight |
|---|---|---|
| Week of 6/16 Course introduction; Tree; Sorting_Machine; Sorting algorithms, Sorting_Machine implementation |
Tree operations | |
| Week of 6/23 Heapsort; Project intro |
BugsWorld contest | |
| Week of 6/30 Convention/correspondence; Statement |
No class | Lab 1 due Tue. 7/1: Sorting_Machine with heapsort |
| Week of 7/7 Program; Context-free grammars |
Program kernel and pretty print | Lab 2 due Fri. 7/11: Statement kernel and pretty print |
| Week of 7/14 Context-free grammars; Recursive descent parsing |
Evaluating arithmetic expressions | |
| Week of 7/21 Midterm exam on Mon. 7/21 BL program execution; code generation |
BL interpreter | |
| Week of 7/28 Code generation; BL_Tokenizing_Machine |
Word Counter |
Lab 3 due Mon. 7/28: Parser for Program/Statement
Lab 4 due Fri. 8/1: Code generator for Program |
| Week of 8/4 Resolve/C++ Model of Software |
TBD | Lab 5 due Fri. 8/8: BL_Tokenizing_Machine |
| Week of 8/11 Component Family design; Abstract and Concrete Kernel; Performance |
Timing experiment | |
| Week of 8/18 Review |
Final exam review | Lab 6 due Mon. 8/18: New component family and tag cloud generator |
| Midterm Exam | 20% |
|---|---|
| Final Exam | 30% |
| Homework Assignments | 10% (total of many) |
| Closed Lab Assignments | 8% (8 @ 1% each) |
| Lab Assignments | 30% (6 @ 5% each) |
| Class Activities/Participation | 2% |
Important Note: A passing grade on the final exam is required in order to receive a passing grade for the course.