Compilers (CS362 2001S)

CS362 2001S At A Glance

This is an abbreviated course syllabus. Like everything else in this course, it is likely to change.

Week 1: Introduction
(01) Monday, January 22, 2001
Getting Started
Assignments
  • Fill out the introductory survey.
  • Log on to Blackboard, select the CSC362 Web, and post a comment to the Which Language forum.
  • Read Chaper 1 of ASU.
(02) Wednesday, January 24, 2001
Source and Target Languages
Assignments
  • Write a small program in the source language we choose today.
Thursday, January 25, 2001
Lab: Observing Compilation
(03) Friday, January 26, 2001
Compilation Steps
Assignments
  • Read chapter 2 of Aho, Sethi, Ullman.
  • Start chapter 3 of Aho, Sethi, Ullman.
Due
  • Sample Pascal programs
Week 2: Lexical Analysis
(04) Monday, January 29, 2001
Introduction to Lexical Analysis and Regular Expressions
(05) Wednesday, January 31, 2001
Regular Expressions, Continued
Thursday, February 1, 2001
Lab: Regular Expressions
(06) Friday, February 2, 2001
Finite Automata
Week 3: Lexical Analysis, Continued
(07) Monday, February 5, 2001
From Specification to NFA
(08) Wednesday, February 7, 2001
From NFA to Optimal DFA
Assignments
Thursday, February 8, 2001
Lab: Using Lexical-Analyzer Generators
(09) Friday, February 9, 2001
Introduction to Grammars and Parsing
Week 4: Syntactic Analysis
(10) Monday, February 12, 2001
Ambiguous Grammars
(11) Wednesday, February 14, 2001
Parsing Expressions
Thursday, February 15, 2001
Lab: Parsing Expressions
(12) Friday, February 16, 2001
Predictive Parsing
Assignments
Week 5: Syntactic Analysis, Continued
(13) Monday, February 19, 2001
Predictive Parsing, Continued
(14) Wednesday, February 21, 2001
Predictive Parsing, Continued
Thursday, February 22, 2001
Lab: Parser Generators
(15) Friday, February 23, 2001
Shift-Reduce Parsing
Week 6: Parsing, Concluded
(16) Monday, February 26, 2001
Shift-Reduce Parsing, Continued
(17) Wednesday, February 28, 2001
Pause for Breath
Thursday, March 1, 2001
Lab: No Lab
(18) Friday, March 2, 2001
Semantic Actions
Assignments
Week 7: Type Checking
(19) Monday, March 5, 2001
Introduction to Type Checking
(20) Wednesday, March 7, 2001
Type Equivalence
Thursday, March 8, 2001
Lab: Type Checking
(21) Friday, March 9, 2001
Techniques for Type Checking
Week 8: Stack Frames
(22) Monday, March 12, 2001
Stack Frames Assignments
(23) Wednesday, March 14, 2001
More Stack Frames
Assignments Due
Thursday, March 15, 2001
Lab: No Lab This Week
(24) Friday, March 16, 2001
Pause For Breath
Break
Week 9: Generating Code
(25) Monday, April 2, 2001
Translating Declarations and Expressions
(26) Wednesday, April 4, 2001
Translating Expressions, Continued
Thursday, April 5, 2001
Lab: Stack Frames
(27) Friday, April 6, 2001
Translating Conditionals
Week 10: Generating Code, Continued
(28) Monday, April 9, 2001
Translating Loops
(29) Wednesday, April 11, 2001
Translating Procedure Calls
Thursday, April 12, 2001
Lab: x86 Assembly
(30) Friday, April 13, 2001
Pause for Breath
Week 11: Putting it Together
(31) Monday, April 16, 2001
Liveness Analysis
(32) Wednesday, April 18, 2001
An Abstract Assembly Language
Thursday, April 19, 2001
Lab: Abstract Assembly Language
(33) Friday, April 20, 2001
Register Allocation
Week 12: Assembly Language Programming
(34) Monday, April 23, 2001
Pause for Breath
(35) Wednesday, April 25, 2001
Steps in Compilation, Revisited
Thursday, April 26, 2001
Lab: Testing Sample Programs
(36) Friday, April 27, 2001
Steps in Compilation, Continued
Week 13: Code Improvement
(37) Monday, April 30, 2001
General Improvement Techniques
(38) Wednesday, May 2, 2001
Additional Improvement Techniques
Thursday, May 3, 2001
Lab: Code Improvement
(39) Friday, May 4, 2001
Student Presentations (1)
Week 14: Wrapup
(40) Monday, May 7, 2001
Student Presentations (2)
(41) Wednesday, May 9, 2001
Student Presentations (3)
Thursday, May 10, 2001
Lab:
(42) Friday, May 11, 2001
Evaluation

 

History

Friday, 12 January 2001

 

Disclaimer: I usually create these pages on the fly. This means that they are rarely proofread and may contain bad grammar and incorrect details. It also means that I may update them regularly (see the history for more details). Feel free to contact me with any suggestions for changes.

This page was generated by Siteweaver on Thu Aug 29 14:19:14 2002.
This page may be found at http://www.cs.grinnell.edu/~rebelsky/Courses/CS362/2001S/glance.html.
You may validate this page's HTML.
The source was last modified Fri Jan 19 17:13:09 2001.