|CSE Home||About Us||Search||Contact Info|
Lectures: MWF 12:30-1:20, More 230
Sections: Th 8:30 (AA), Th 9:30 (AB) More 221
Instructor: Hal Perkins, CSE 548, perkins[at]cs, office hours Wed. 3:30-4:30; plus when I'm in my office and the door is open.
TAs: Sam Fout and Evan Herbst. Office hours: Herbst, Mon. 4:30-5:00+ and Thur. 2:30-3:00+, both in CSE 216; Fout: Tue. 12-1+, CSE 218.
Class email list archives
for assignment and project submission
Homework 1. Due online Mon., Oct. 10 by 11 pm.
Homework 2. Due online, Thur. Oct. 20 by 11 pm.
Homework 3. Due online, Thur. Oct. 27 by 11 pm.
This quarter's final: exam sample solution
Some old final exams: au10 (solution) wi10 (solution) wi09 (solution) au08 wi08 au07
This quarter's midterm: exam sample solution
Some old midterms: au10 (solution) wi10 (solution) wi09 (solution) au08 wi08 (solution) au07 sp99 sp98 (solution notes)
In addition, old CSEP501 exams (the PMP compiler course) might also be useful for studying.
Topic lists to be supplied later
Tentative schedule based on last year to be updated as the quarter progresses. Links will be broken until new slides are posted for this quarter, generally the evening before class. Readings should be done before the associated class.
1. Sept. 28: Course introduction. slides
S1. Sept. 29: no section
2. Sept. 30: Intro (concl.); Regular expressions and scanners (intro). Read ch. 1, secs. 2.1-2.4. slides
3. Oct. 3: Parsing and scanning
4. Oct. 5: Regular expressions FAs (concl.)
S2. Oct. 6: Project, scanners and regular expressions. slides
5. Oct. 7: Scanner implementations
6. Oct. 10: Intro to parsing. Read sec. 3.1-3.2. slides
7. Oct. 12: LR (bottom-up) parsing start. Read sec. 3.4. slides
S3. Oct. 13: Context-free grammars, parsing. slides
8. Oct. 14: LR parsing
9. Oct. 17: LR table construction. Read Sec. 3.5 slides
10. Oct. 19: LR conflicts, First/follow sets. Read sec. 3.3.4
S4. Oct. 20: ASTs and visitor pattern. slides 1, slides 2
11. Oct. 21: LL parsing & recursive descent. slides
12. Oct. 24: IRs slides; Static semantics and type checking (start) slides
13. Oct. 26: Semantics and type checking
S5. Oct. 27: Grammars, homework, project. slides
14. Oct. 28: Attribute grammars
15. Oct. 31: Symbol tables and representation of types
16. Nov. 2: x86 overview slides
S6. Nov. 3: Midterm review slides
17. Nov. 4: Midterm in class
18. Nov. 7: Code shape I - basic constructs. slides
19. Nov. 9: Code shape II - objects and dynamic dispatch slides
S7. Nov. 10: multiple inheritance and function overloading (no slides)
20. Nov. 11: No class - Veteran's day holiday
21. Nov. 14: Dynamic dispatch and objects implementation
22. Nov. 16: x86-64 slides
S8. Nov. 17: no sections today
23. Nov. 18: x86-64 and codegen for the project
24. Nov. 21: Optimization overview slides
25. Nov. 23: Optimization (concl.); dataflow analysis
X. Nov. 24-25: No section or lecture. Much tofu consumed in Seattle (and turkeys elsewhere)
26. Nov. 28: Dataflow equations slides
27. Nov. 30: Dataflow (concl.) Backend overview (start) slides
S9. Dec. 1: SSA. slides
28. Dec. 2: Instruction selection
29. Dec. 5: Instruction scheduling; course evaluations
30. Dec. 7: Register allocation by graph coloring; garbage collection slides
S10. Dec. 8: Concurrency and optimization. slides
32. Dec. 9: Compiling dynamic langauges slides
Dec. 14 (Wed): Review session, 4:30, CSE 403
Dec. 15 (Thur): Final exam, 8:30-10:20 am, regular classroom.
Computer Science & Engineering
University of Washington
Seattle, WA 98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to Hal Perkins]