|CSE Home||About Us||Search||Contact Info|
Meetings: MWF 12:30-1:20, GUG 218.
Instructor: Hal Perkins, CSE 548, perkins[at]cs, office hours: MT 2-3 in the CSE 006 lab.
TA: Laura Marshall, lmarsh16[at]cs, office hours W 1:30-2:30, Th 2-3 in the CSE 006 lab.
Class email list archives
Dropbox for assignment and project submission
Starter code (zip file)
Setting up a svn repository
Intel processor documentation
Project phases. Dates for future parts are tentative, but should give an idea of what to expect.
Homework 1. Due Friday, Jan.
16, at the beginning of class.
Homework 2. Due Friday, Jan. 30, at the beginning of class.
Homework 3 (short). Due Monday, Feb. 9, at the beginning of class.
A list of final exam topics
This quarter's final: exam sample solution
Some old final exams: au08 wi08 au07 au02 (solution) au98 sp98
A list of midterm topics.
This quarter's midterm: exam sample solution
Some old midterms: au08 wi08 (solution) au07 sp99 sp98 (solution notes)
In addition, old CSEP501 exams (the PMP compiler course) might also be useful for studying.
Schedule to be updated as the quarter progresses. Slides will be posted normally no later than the evening before class. Readings should be done before the associated class.
1. Jan. 5: Course introduction. Slides (1-up, 6-up)
2. Jan. 7: Overview (concl.); Regular expressions and scanners (intro). Read ch. 1, secs. 2.1-2.4. Slides (1-up, 6-up)
3. Jan. 9: Regular expressions and scanners (cont.)
4. Jan. 12: Scanners (concl.)
5. Jan. 14: Intro to parsing. Read sec. 3.1-3.2. Slides (1-up, 6-up, slides with scribbles from lecture)
6. Jan. 16: LR (bottom-up) parsing. Read sec. 3.4-3.5 and computation of First and Follow sets in Sec. 3.3.4. Slides (1-up, 6-up).
X. Jan. 19: No class. MLK day.
7. Jan. 21: LR parsing (cont.). (slides with scribbles from lecture)
8. Jan. 23: LR parser construction. Slides (1-up, 6-up)
9. Jan. 26: LR parsers (slides with scribbles from lecture)
10. Jan. 28: MiniJava parser and AST. Slides (1-up, 6-up)
11. Jan. 30: LL (top-down) parsing. Read sec. 3.3. Slides (1-up, 6-up)
12. Feb. 2: Top-down parsing.
13. Feb. 4: Semantics and type checking. Slides (1-up, 6-up)
14. Feb. 6: Semantics and type checking for MiniJava (1-up, 6-up)
15. Feb. 9: Type checking details; Interpreters (1-up, 6-up)
16.. Feb. 11: Midterm review
17. Feb. 13: Midterm in class.
X. Feb. 16: No class. Presidents' day.
18. Feb. 18: MiniJava IL generation (1-up, 6-up)
19. Feb. 20: IR codegen
20. Feb. 23: Interlude: visitor pattern (1-up, 6-up)
21. Feb. 25: x86 lite (1-up, 6-up)
22. Feb. 27: x86, Minijava x86 code generation (intro) (1-up, 6-up)
23. Mar. 2: Minijava codegen
24. Mar. 4: Minijava codegen
25. Mar. 6: Instruction selection and register allocation (1-up, 6-up)
26. Mar. 9: Optimization (1-up, 6-up)
27. Mar. 11: Optimization
28. Mar. 13: Dataflow analysis (1-up, 6-up)
X. Mar. 18 (Wed.): Review, afternoon, CSE 403
X. Mar. 19 (Thur.): Final exam, 10:30-12:20 am, EE 045. Contact Perkins if you need to take the exam at the original time of 8:30..
Computer Science & Engineering|
University of Washington
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Hal Perkins]