CS 241 - Foundations of Sequential Programs
University of Waterloo :
Faculty of Mathematics :
School of Computer Science
General Information
- Calendar
Description - Official course description from academic calendar.
- Handbook
Description - Longer course description from Computer Science Undergraduate Handbook.
- Coordinators - People responsible for the long-term
structure of the course.
- Policies
-
Important policies you need to be aware of.
Current Term (Fall 2009)
Announcements
- November 16th, 2009 -A8P3 test input files are now reported by Marmoset. If you failed, a release, visit your Marmoset results to see how to download the test input.
- November 13th, 2009 - Midterm marks have been posted on the unofficial marks page. Please check your mark to make sure it is consistant with the mark written on your midterm. Also, midterm remark requests are due before November 20th, so remember to get them in as soon as possible.
- November 12th, 2009 - Friday 11:30am and 12:30pm tutorials are canceled to the end of the term due to TA's family issue. Students who take these two tutorials are encoraged to go to other available tutorials. For details, please check course newsgroup.
- October 30th, 2009 - Midterms are available for pickup today until 2:30 this afternoon in MC4065. After today, you should be able to pick up your midterm in any office hour or tutorial hosted by the tutor.
- October 26th, 2009 - In lieu of a formal midterm review session, the tutor will be available in MC 4065 from 11:30 to 3:30 today. If you have any midterm questions, please attend.
- October 23rd, 2009 - Midterm review sessions cancelled due to illness. Sorry for the inconvenience.
- October 18th, 2009 - Midterm information posted. See third bullet
under "General Information" below.
- October 14th, 2009 - A new simplified C scanner is available for those who wish to use it for A4 or A6
- October 13th, 2009 - The 10:30 Friday Tutorial has been cancelled and replaced by office hours. If you are in this tutorial, please attend one of the other sections.
- October 8th, 2009 - ERRATA: Tutorial Handout 5 has been corrected. I made a mistake recalling the format code for relocation entries in MERL files. A corrected handout is posted.
- October 6th, 2009 - Due to popular demand, the Thursday and Friday tutorials are being pushed ahead a week, so please make sure you bring the correct handout. This Thursday/Friday will be covering Tutorial - Week 5 - "My Name is MERL".
- October 2nd, 2009 - Marks for assignment 1 have been posted so you can check those online now.
- October 1st, 2009 - There has been a correction to Tutorial Handout - Week 4 - "Assemblers and Assembling." It should not affect the tutorial, so you don't have to worry too much about printing out another handout.
- September 29th, 2009 - Tutorials start this week, so there won't be any more lab sessions.
- September 14th, 2009 - For the first two weeks, lab sessions will be offered instead of tutorials. These sessions will be located in MC2037 during the following times:
Tuesday: 2:30 to 3:20 and 4:30 to 6:30
Wednesday: 3:30 to 4:20
Thursday: 2:30 to 3:20 and 4:30 to 6:30
Friday: 10:30 to 1:20 and 2:30 to 3:20
- September 14th, 2009 - Welcome to CS241!
General Information
-
Syllabus
- Schedule of Classes
- Midterm Information
- Final Exam Information
- Personnel
- Instructors
- Gordon V. Cormack
- Email: gvcormac@uwaterloo.ca
- Voice: x34450
- Office: DC2502
- Office Hour(s): On request
- Tutor
- John "J" Baxter
- Email: cs241@cs.uwaterloo.ca
- Office: DC3131
- Office Hours: (in MC 4065)
- 11:30 to 12:30 Mondays
- 10:30 to 11:30 Fridays
- 1:30 to 2:30 Fridays
- TAs
- Francis Chen
- Office Hours: 3:30 to 4:30 Thursdays and 10:30 to 11:30 Fridays in MC 4065
- Fida Zaheer
- David Fagnan
- Office Hours: 11:30 to 12:30 Wednesdays in MC 4065
- Matthew Ferguson
- Office Hours: 11:30 to 12:30 Wednesdays in MC 4065
- Ying "Cathy" Liu
- Dan Welch
- Office Hours: 3:30 to 4:30 Thursdays in MC 4065
- John Whissell
- Office Hours: 1:30 to 2:30 Fridays in MC 4065
View Your Marks
For your convenience, we provide a facility to check your unofficial marks online.
As your assignment and exam marks are recorded, they will be made available on this
website. You will need your UWdir username (8 characters or less) and password in
order to log in; your password is the same one that you use for Quest. Errors in the
marks should be reported to a tutor.
Illness
Online reporting for absences for influenza-like illness is now available to students through Quest. Such reporting is required if a student is seeking accommodation from any instructor for course requirements missed because of an influenza-like illness. Within two calendar days of deciding not to attend class for this reason, the student must report the start date of the absense. Upon returning to class, the student must report the return to class. The online declaration can be used for such illnesses of up to 10 calendar days; longer absenses still require completion of the standard Verification of Illness form, which is necessary for all other requests for illness accommodation for missed course requirements.
More information on the H1N1 virus, protective practices and procedures can be found here.
Newsgroup
CS 241 has a newsgroup (uw.cs.cs241).
You can access this through any email client that supports newsgroups or
through
Google
Groups.
We encourage you to use the newsgroup. It is a handy and timely way for
students to learn from each other and the course staff. Essential
announcements will be posted to the course newsgroup as well as the
announcements section of this webpage.
Tutorial Materials
For the tutorials, a handout will be available before the tutorial. Bringing a printed version of this to your tutorial is a good idea. After the tutorials on Wednesday, the tutorial slides will become available. Remember that the Thursday and Friday tutorials are a week ahead of the Tuesday and Wednesday tutorials.
- Assembly Language
- Assemblers
- Linkers and Loaders
- Deterministic Finite Automata
- Regular Language Machines and Context Free Grammars
- Canonical Derivations and Disambiguation
- Parsing
- Code Generation
- WL++
Assignments
Assignments must be submitted using the
Marmoset Submission and
Testing Server.
- Assignment 1 (due 5:00 p.m. Friday September 25,
2009)
- Assignment 2 (due 5:00 p.m. Friday October 2, 2009)
- Assignment 3 (due 10:00 p.m. Friday October 9, 2009)
- Assignment 4 (due 10:00 p.m. Friday October 16, 2009)
- Assignment 5 (due 10:00 p.m. Friday October 23, 2009)
- Assignment 6 (due 10:00 p.m. Monday November 2, 2009)
- Assignment 7 (due 10:00 p.m. Monday November 9, 2009)
- Assignment 8 (due 10:00 p.m. Monday November 16, 2009)
- Assignment 9 (due 10:00 p.m. Monday November 23, 2009)
- Assignment 10 (due 10:00 p.m. Monday November 30, 2009)
Material for assignment 1 (and beyond)
Material for assignment 2 (and beyond)
Material for assignment 3 (and beyond)
Material for assignment 5 (and beyond)
Material for assignment 6 (and beyond)
Material for assignment 7 (and beyond)
Material for assignment 8 (and beyond)
Material for assignment 9 (and beyond)
Cheating Policy
Academic Integrity
In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility. All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research.
The Office of Academic Integrity's website contains detailed information on UW policy for students and faculty.
This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in - and out - of the classroom.
Grievance
A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4.
Discipline
A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes an offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Discipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline.
Avoiding Academic Offenses
Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy.
Appeals
A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Discipline if a ground for an appeal can be established. Read Policy 72 - Student Appeals.