I hear the train a comin' It's rollin' 'round the bend And I ain't seen the sunshine Since I don't know when... Johnny Cash |
Comp Sec | Camp Loc | Time Days/Date | Bldg Room | Instructor |
---|---|---|---|---|
LEC 001 | UW U | 1:30-2:20 MWF | MC 4045 | Martin Karsten |
Instructor's Name | Office Location | Contact | Office Hours |
Martin Karsten | DC 3506 | mkarstenuwaterloo.ca | open door / by appointment |
For any personal matters, please email the instructor.
The course will start with in-person teaching and lab access on Jan 5. The lecture hall MC 4045 is large enough to accommodate all registered students even with a 50% capacity limit. However, the course and its learning objectives critically depend on software development and testing in the trains lab MC 3018.
Depending on capacity limits for MC 3018 and final enrolment numbers it might become necessary to restrict and manage lab access using an online reservation system. In this case, it might be necessary to adjust assignment deadlines to give all students sufficient opportunity to develop and test their software in the lab. Such changes will be communicated on Piazza and by adding updates to the course outline.
In case of a short-term (e.g., one week) cancellation of in-person activities, classes and discussions will be held online during the assigned time slots. Assignment deadlines will be adjusted to accommodate for periods of time when the lab might not be available.
In case of a longer cancellation of in-person activities, the course will pivot to teaching advanced operating system design and implementation. Online lectures will be accompanied by software assignments that can be completed at home or remotely using university servers.
IMPORTANT: If the COVID situation deteriorates to make it impossible to complete at least the first train control assignment TC1, the course will not be credited as CS 452/652, but instead as CS 489/689 (more explicitly, students in CS 452 would instead receive a credit for CS 489, and students in CS 652 would receive a credit for CS 689). In this case, students will be able to retake a complete offering of CS 452/652 in a future term - potentially with slightly adjusted expectations depending on the overlap between W22 and a future offering. Note that TC1 is currently scheduled for March 9. Please review all academic deadlines with respect to this contingency.
IMPORTANT: Late assignment submissions will not be accepted. Plagiarism detection software will be used. Students might be asked to meet with TAs and explain their code. See below for further information about academic integrity and appeals. Also see Notes on Assignments.
Due dates below are tentative until the assignment is published.
Assignment | Link to Assignment | Due Date | Notes |
---|---|---|---|
A0 | Polling Loop | Wed, Jan 12, 9:00am | Communication with Trains and Terminal |
K1 | Kernel (Part 1) | Wed, Jan 26, 9:00am | Context-Switch, Task Scheduling |
K2 | Kernel (Part 2) | Mon, Jan 31, 9:00am | Message Passing, Name Server |
K3 | Kernel (Part 3) | Mon, Feb 7, 9:00am | Event Notification, Clock Server |
KCS | Kernel Context Switch | Wed, Feb 9, 9:00am | In-Class Presentations on Feb 9 and 11 |
K4 | Kernel (Part 4) | Fri, Feb 18, 9:00am | UART Server(s) |
TC1 | Train Control (Part 1) | Wed, Mar 9, 9:00am | Demo: control one train |
Final Project - Proposal | Wed, Mar 16, 9:00am | ||
TC2 | Train Control (Part 2) | Wed, Mar 23, 9:00am | Demo: control multiple trains |
Final Project | Mon, Apr 4, 9:00am | Demo |
A0 | 5% |
Kernel | 30% |
Project | 35% |
Final Exam | 30% |
The final exam is scheduled for Monday, April 11 and will cover material from the entire course. It will be given as take-home exam and be made available here on April 10, 10am. Exam answers have to be submitted by email to the instructor by April 11, 10pm.
Different instructors emphasize different topics in various ways. Also, course material is continuously updated. With that in mind, previous exams are available in the hope that they will be useful, but WITHOUT ANY WARRANTY!
Note: Downloads require UW authentication.
UW Final Exam Regulations
Math Faculty INC Rules
The workstations in the main room run Ubuntu Linux with access to the regular linux.student.cs environment. The workstations in the inner room run a slightly different Linux setup with a default login and are connected to grey boxes that contain the embedded ARM computers. Two of those are connected to train tracks. You can use the gtkterm terminal emulator to communicate with the ARM computer via serial interface.
IMPORTANT: A turnout solenoid must be switched off (via Command 0x20 or by switching another turnout) between 100 and 500 milliseconds after it was activated!
cross compiler: | /u/cs452/public/xdev/bin/arm-none-eabi-gcc |
example code: | /u/cs452/public/iotest/ (see README) |
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. [Check the Office of Academic Integrity for more information.]
A student who believes that a decision affecting some aspect of their university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
A student is expected to know what constitutes academic integrity to avoid committing an academic offence, and to take responsibility for their actions. [Check the Office of Academic Integrity for more information.] A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate associate dean. For information on categories of offences and types of penalties, students should refer to Policy 71, Student Discipline. For typical penalties, check Guidelines for the Assessment of Penalties.
A decision made or a penalty imposed under Policy 70, Student Petitions and Grievances (other than a petition) or Policy 71, Student Discipline may be appealed if there is a ground. A student who believes they have a ground for an appeal should refer to Policy 72, Student Appeals.
AccessAbility Services located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with AccessAbility Services at the beginning of each academic term.
Text matching software (Turnitin©) may be used to screen assignments in this course. Turnitin© is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit alternate assignment.