Time and place:
214 MacLean Hall,
1:30-2:20 Monday, Wednesday and Friday
Textbook: Course Notes
Auxiliary Text: The Kestrel Programming Language
Exams There are none excepting an oral "debriefing" at the end of the semester in order to interpret the record of your group. This is a project-based course.
Grading: Grades will be based on participation and achievement in the compiler construction project. Collegiate norms suggest that in typical offerings at this level, about 60% of those who actually take the course (that is, who participate in class and work on the project) will earn at least a B.
Late and Incomplete Work: The hard deadline for all projects is the start of finals week; these are group projects, and group participation will be monitored.
Computer support: The CS departmental Linux machines; in particular, a Raspberry Pi computer, available on loan from the department or may be purchased from any of several sources (The new model B+ is nice, but all models suffice for our purposes). Students will have course accounts on the Linux server. We will use the C++ language to write our compilers.
The Web All materials supporting this class are on-line at:
The Fine Print that must be repeated here as a matter of policy:
Prerequisites — Those who have not taken an introductory computer architecture course and a data structures course are likely to fail.
Attendance — Attendance is not required, but class participation is! Participation and project participation will be closely monitored.
Time commitment — A well-prepared student should expect to spend 9 hours per week on this class, including class attendance.
Administrative home of the course — This course is offered by the College of Liberal Arts and Sciences which sets rules governing academic matters as add/drop deadlines, the second-grade-only option, issues of academic fraud or probation, and how credit is applied to graduation requirements. Other colleges may have different policies; you may want to check http://provost.uiowa.edu/files/provost.uiowa.edu/files/crossenroll.pdf. Students with questions about these or other CLAS policies should speak with an academic advisor or with the staff in 120 Schaeffer Hall. Also see the CLAS Academic Handbook: clas.uiowa.edu/students/handbook
Academic fraud — The CLAS Code of Academic Honesty applies in this course. Evidence of cheating will be reported. Disciplinary probation applies to first offenses; repeat violations may lead to suspension or expulsion. This is a group project course, and we use groupware that allows all contributions to be attributed to their authors. Sabotaging your group's project, for example, by squeezing others out of the group, will be considered a serious offense.
Incompletes — Temporary grades of I will be granted only on the basis of discussion with the professor, preferably as soon as possible. Failure to return borrowed equipment will lead to a grade of I until that equipment is returned or replaced.
Due process — If you have any disagreement or communications problem with a teaching assistant, take it to the professor. If you have a problem with your professor, contact the chair of the computer science department, 14 MLH; due process continues from there to the College of Liberal Arts and Sciences, 120 Schaeffer Hall. The exception: Cases of sexual harassment may be reported directly to the UI Sexual Misconduct Response Coordinator (335-6200). In the event that the appropriate channel is not obvious for any purpose, the University Ombudsman is available to help in C108 Seashore Hall.
Special accomodation — If, for any reason, including but not limited to long or short-term disability, you need any kind of accomodation, including but not limited to special seating, please contact me during my office hours, or at other times, in person, by phone or by E-mail. The office of Student Disability Services in 3015 Burge Hall may be able to help.
Severe weather — The inner hallways of MacLean Hall are a reasonably secure refuge from tornado, derecho and other windstorms; the basement halls are even better.