CS243: Advanced Compiling Techniques

Winter 2009

Staff | Logistics | Schedule | Joeq


This page is updated often. Check back soon.


Staff


Instructor

 

Monica Lam

Office

Gates 307

Phone

(650) 725-3714

Office hours

Mon, Wed 12:30-1:30pm


TA

 

Brian Hackett

Office

Gates 412

Office hours

Wed, Fri 2:00-4:00pm


TA

 

Peter Boonstoppel

Office

Gates 324

Office hours

Tue, Thu 10:00am-12:00pm


Administrator

 

Darlene Hadding

Office

Gates 408

Phone

(650) 723-1430


Logistics

Lectures

Mon, Wed 11:00 to 12:15 in Packard 101

Section

Fri 11:00 to 11:50 in Skilling 191 (starts 1/16)

Prerequisites

CS 103 or CS 103B, and CS 107; Java programming language experience

Textbook

Compilers: Principles, Techniques, & Tools (Second Edition), Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman, Addison-Wesley, 2007.

Class newsgroup

su.class.cs243 for questions and comments that may be of interest to the whole class

Staff mailing list

cs243-win0809-staff@lists.stanford.edu

Midterm

Feb 18, 11:00am-12:15pm. All local SCPD students must come to campus for the exam.

Final exam

Mar 20, 8:30am-11:30am in Gates B3 All local SCPD students must come to campus for the exam.

Grade distribution

Homework: 50%, Midterm: 15%, Final: 35%


Tentative Schedule

Date Topic Reading Lecture notes Assignment out Assignment due
Jan 7 (Wed) Introduction 1.1-5, 8.4, 8.5, 9.1 Lecture 1 (1-up version), Example
Jan 12 (Mon) Dataflow Analysis Introduction 9.2 Lecture 2 (1-up version)
Jan 14 (Wed) Dataflow Analysis Foundations 9.3 Lecture 3 (1-up version) HW1 (solutions)
Jan 19 (Mon) (holiday)
Jan 21 (Wed) Joeq Framework Joeq Tutorial Joeq Analysis Framework (1-up version) HW2 (tests) HW1
Jan 26 (Mon) Constant Propagation, Loops 9.4, 9.6 Lecture 4 (1-up version)
Jan 28 (Wed) Partial Redundancy Elimination 9.5 Lecture 5 (1-up version) HW3 (solutions) HW2 (Jan 30)
Feb 2 (Mon) Register Allocation 8.8 Lecture 6 (1-up version)
Feb 4 (Wed) Scheduling 10 Lecture 7 (1-up version) HW4 (tests) HW3
Feb 9 (Mon) Scheduling 10 Lecture 8 (1-up version)
Feb 11 (Wed) Dynamic Compilation Lecture 9 (1-up version)
Sample midterm (solutions)
Feb 16 (Mon) (holiday)
Feb 18 (Wed) Midterm (11:00 am - 12:15 pm) (solutions)
Feb 23 (Mon) Pointer Analysis 12 Lecture 10 (1-up version)
Feb 25 (Wed) BDDs in Pointer Analysis 12 Lecture 11 (1-up version)
HW5 (solutions) HW4
Mar 2 (Mon) Introduction to Parallelism and Locality 11 Lecture 12 (1-up version)
Mar 4 (Wed) Affine Partitioning 11 Lecture 13 (1-up version)
HW6a, HW6b (solns)
Mar 9 (Mon) Garbage Collection 7.5, 7.6 Lecture 14 (1-up version)
Mar 11 (Wed) Advanced Garbage Collection 7.7, 7.8 Lecture 15 (1-up version)
HW6a, HW6b
Mar 20 (Fri) Final (8:30 am - 11:30 am, Location: Gates B03) Sample final

Physical Handouts

Hardcopies of the course material and graded assignments will be distributed during class. Extras and assignments that are not picked up will be placed in the handout bin on the 3rd floor of Gates. Turn left as you come off the elevator and head across the hall to the nook between the two wings. There is a file cabinet with a drawer for CS243.

SCPD students: Please download the lecture notes before the lecture; The material will be available by the morning of the lecture. Your assignments will be returned via the SCPD courier. Since all the material for the assignments will be available on the web, you have to give your assignemnts to the SPCD courier (or hand it in electronically) on the same day as everybody else.


Assignment Policy

Group Work: Homework will consist of both written and programming assignments. You are encouraged to work on the programming assignments in groups of two, but you must do the written assignments by yourself.

Late Policy: In general, no late assignments are accepted. However, you have two grace days for the entire quarter. That means you can be late by one day for two assignments, or use the two days up for one assignment.

Submission: Homework should be submitted in class only. If you do not come to class it should be handed to Darlene Hadding in Gates 408 who will write the date and time of the submission. Late homeworks should also be directed to Darlene. We do not check the file cabinet for homework! SCPD students may submit their homework by e-mail via scpd-distribution@lists.stanford.edu.


Honor Code

You are free to discuss the assignment and solutions with others. However, you must write your own assignment, and must not represent any portion of others' work as your own. Anybody violating the honor code will be referred to the Judical-Affairs Office. If convicted, the normal penalty is a quarter suspension or worse.