I welcome visitors to my office (OHS 306) on a drop-in basis as well as by appointment. You may send me electronic mail at max@gustavus.edu.
Some days, shown in the schedule, we will will work on lab projects using laptop computers in our normal classroom. I expect each of you to bring a computer. Let me know if you need to sign out one from the department. Each lab assignment will generally require you to spend additional time out of class.
You are expected to be familiar with the college academic honesty honor code policy, and to comply with that policy. If you have any questions about it, please ask.
In doing an assignment, you may discuss the problems and their solutions with fellow students, but you should make an effort to solve each problem on your own. Give credit to the people and/or reading sources that help you find the solutions, be they fellow students, textbooks, journals, or internet postings. Be explicit and acknowledge clearly what sort of help you received. Failure to do so will be considered cheating.
If you are too sick to complete an assignment on time, you will not be penalized. Simply label your assignment as late due to illness. Other circumstances will be evaluated on a case-by-case basis.
Please see the separate homework policy linked to the web version of this syllabus.
Please see the separate homework policy linked to the web version of this syllabus.
Gustavus Adolphus College is committed to ensuring the full participation of all students in its programs. If you have a documented disability (or you think you may have a disability of any nature) and, as a result, need reasonable academic accommodation to participate in class, take tests or benefit from the College’s services, then you should speak with the Disability Services staff for a confidential discussion of your needs and appropriate plans. Course requirements cannot be waived, but reasonable accommodations may be provided based on disability documentation and course outcomes. Accommodations cannot be made retroactively; therefore, to maximize your academic success at Gustavus, please contact Disability Services as early as possible. Disability Services is located in the Academic Support Center
Support for English Learners and Multilingual students is available through the Academic Support Center and the English Learning Specialist, Laura Lindell (llindell@gustavus.edu or x7197). If you fall into one of these categories, she can meet individually with you for tutoring in writing, consulting about academic tasks, and helping you connect with the College’s support systems. In addition, you can seek help from peer tutors in the Writing Center. Please let me know if there is any accommodation in the course that would enable you to more fully show your abilities.
In the reading column, section 0 means the material at the beginning of a chapter before the first section. Similarly, subsection 0 means the material at the beginning of a section before the first subsection.
This is my best guess as to the rate at which we will cover material. However, don't be shocked if I have to revise the schedule.
Date | Reading | Topic | Due |
---|---|---|---|
2/10 | 1 | Introduction | |
2/12 | 2.2 | Syntax definition | |
2/13 | 2.3-2.4 | Syntax-directed translation | |
2/14 | Lab 1: Generating Code from ASTs | ||
2/17 | 3.0-3.1, 3.3, 3.5 | Lexical analysis | |
2/19 | 4.0-4.2 | Context-free grammars | HW 1 |
2/20 | Lab 1 (continued) | ||
2/21 | (Weather-related cancellation) | ||
2/24 | 4.3 | Writing a grammar | |
2/26 | 4.4.0-4.4.3 | Top-down parsing | HW 1 rewrite |
2/27 | 4.4.4-4.4.5 | More on predictive parsing | |
2/28 | 4.5 | Bottom-up parsing | |
3/3 | 4.6 | SLR parser generation | HW 2 |
3/5 | 4.7.0-4.7.4 | Canonical LR and LALR parser generation | Lab 1 |
3/6 | 4.8-4.9 | Using ambiguous grammars; parser generators | |
3/7 | 5.0-5.4.3 | Syntax-directed definitions | |
3/10 | Lab 2: Scanning and Parsing | ||
3/12 | Lab 2 (continued) | HW 2 rewrite, HW 3 | |
3/13 | Lab 2 (continued) | ||
3/14 | 6.0-6.2 | Intermediate code | |
3/17 | 6.4, 6.5.2 | Array access; type conversions | Lab 2 |
3/19 | No class (Amcom trip) | ||
3/20 | 6.6 | Control flow | HW 3 rewrite |
3/21 | Lab 3: Adding Variables | HW 4 | |
3/24 | Lab 3 (continued) | ||
3/26 | Lab 3 (continued) | ||
3/27 | Lab 3 (continued) | ||
3/28 | 8.0-8.3 | Code generation | |
4/7 | 8.4 | Basic blocks and flow graphs | Lab 3, HW 4 rewrite |
4/9 | Preview of lab 4 | ||
4/10 | Lab 4: Control Flow and Scoping | ||
4/11 | 9.0-9.1 | Optimization | |
4/14 | Lab 4 (continued) | ||
4/16 | Lab 4 (continued) | HW 5 | |
4/17 | Lab 4 (continued) | ||
4/23 | 9.2 | Data-flow analysis | Lab 4 |
4/24 | Data-flow analysis, continued | ||
4/25 | Lab 5: Procedures – The Basics | ||
4/28 | 9.5, notes | Partial redundancy elimination | |
4/30 | Lab 5 (continued) | ||
5/1 | Lab 5 (continued) | HW 5 rewrite | |
5/2 | 9.3, notes | Foundations of data-flow analysis | HW 6 |
5/5 | Hack 1-2 | Interference graphs | Lab 5 |
5/7 | Hack 4.1-4.4 | Register allocation | |
5/8 | Lab 6: Procedures – Further Features | ||
5/9 | Lab 6 (continued) | ||
5/12 | No class | HW 6 rewrite | |
5/14 | Lab 7: Wildcard Lab | Lab 6 | |
5/15 | Lab 7 (continued) | ||
5/16 | Lab 7 (continued) | ||
5/19 | Lab 7 (continued) | ||
5/21 | Synthesis and evaluation | Lab 7 |