Professor: Tia Newhall
Exam Review Session Tues, May 10 5:30-6:30 in the CS Lab
All programming projects will be in the C programming language. There are several C language references in the CS Lab that you may use. If you want to buy your own C language reference, here are two recommendations:
cs75handin. cs75handin allows you to resubmit the same assignment multiple times up to the due date.
You and your partner are allowed to use up to 2 late days this semester for turning in programming assignments. One day late means turned in before the original time of the assignment was due on the next day class meets. For example, if the original assignment is due on Tuesday before 9am, then if you submit it after Tuesday at 9am but before Thursday at 9am it is one day late. Once you have submitted your solution to an assignment, make sure to keep a copy of it that you will not modify after you submit it (this way if something goes wrong with cs75handin I can use the dates of your solution files to determine when you submitted your solution).
Use late days wisely; once you have used up your 2 days, I will not accept any late assignments from you.
Discussing ideas and approaches to problems with others on a general level is fine (in fact, we encourage you to discuss general strategies with each other), but you should never read anyone else's code or let anyone else read your code. If you are in doubt about some help that you received, then credit the person(s) from whom you got help by citing them in a comment at the top of the file and discuss the situation with your instructor.
The following schedule is tentative; it will be updated as we go along.
I highly recommend at least skimming through the week's reading prior to the first class meeting of that week.
|DATE||TOPIC & DUE DATES||READINGS & ASSIGNMENTS|
|week 1 (1/17)||Overview||Chapter 1, 2.1-2.2
|week 2 (1/24)||Lexical Analysis, Regular Expressions, FSMs|| Chapter 2.6, 3.1-3.4, 3.6-3.7
|week 3 (1/31)|| Lexical Analysis
Intro to Parsing, CFG
|Chapter 3.6-3.7, 2.4
|week 4 (2/7)|| Top-Down Parsing, LL(1) grammers
Thursday's class in the CS Lab (room 240)
|Chapter 2.4, 4.1-4.3|
|week 5 (2/14)||Top-Down Parsing
part 1 checkpoint due Tues 2/15
|week 6 (2/21)|| Parsing, Error Recovery, Syntax Directed Translation
part 1 due Tues 2/22
no class Thursday, 2/24
Office hours this week: Tues 4-5pm, Wed 1-2pm
|week 7 (2/28)||Syntax Directed Translation, ASTs
|Chapter 2.3, 5.1, 7.6|
|week 8 (3/14)||Run-time Environments and Symbol Table
part 2 checkpoint due, Thurs 3/17
Midterm, Thursday in class
|week 9 (3/21)||Parameter Passing, variable access||--|
|week 10 (3/28)||Code Generation
part 2 due Tues 3/29
Project part3: code generation basic functionality
|week 11 (4/4)||Code Generation||--|
|week 12 (4/11)||Bottom-up Parsing, LR grammers||Chapter 4.5, 4.7 up to page 221
Project part4: complete C-- compiler
|week 13 (4/18)||Bottom-up Parsing, SLR(1) parse tables, a.out files||Chapter 4.7 to page 229|
|week 14 (4/25)||Compiler Optimization||--|
|finals week||Final Exam May 12, 2-5pm, SCI 264||--||--|