the CS:4980:1 Compiler Construction Collection
Time and place:
213 MacLean Hall,
9:30-10: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:
Students without the prerequisites for this couse, an introductory computer architecture course and a data structures course, are likely to fail.
Class attendance is not required, but class participation is! Participation and project participation will be closely monitored.
An average well-prepared student should expect to spend 9 hours per week on this class, including class attendance.
The College of Liberal Arts and Sciences Code of Academic Honesty applies in this course. Evidence of cheating will be reported to the college. Reported students are put on disciplinary probation; repeat violations may lead to suspension or expulsion. This is a group project course, but the groupware we will be using allows all contributions to be attributed to their individual authors. Sabotaging your group's project, for example, by squeezing others out of the group, will be considered a serious offense.
Temporary grades of I (Incomplete) 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.
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.
This course is given by the College of Liberal Arts and Sciences, 120 Schaeffer Hall. The rules of that college govern class policies on matters of grading and academic conduct, and that college must approve late adds and drops. If you are enrolled from another college, you might want to check http://provost.uiowa.edu/files/provost.uiowa.edu/files/crossenroll.pdf.
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 or special arrangements for exams, 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.
The inner hallways of MacLean Hall are a reasonably secure refuge from tornado, derecho and other windstorms; the basement halls are even better.