Course Policies
The instructor reserves the right to change the syllabus at any time. You will be notified of any changes.
The instructor will teach primarily by Flipped Classroom through video lectures. The two class times are used for different things: Monday is a hands-on lab, marked Lab, and Wednesday is the weekly quiz — there is no Wednesday lecture. Dates marked Lecture, Office Hour and No class on the syllabus are the exceptions. In-person sessions will not be recorded.
Worksheet
This course uses worksheet to guide your learning journey. A new worksheet will be announced each Wednesday at 17:00. This worksheet includes required videos, textbook readings, and a hands-on lab. Please work through this material independently, and bring any problems you encounter to Discord or to office hour.

The hands-on lab contains several reflection questions (marked Q1, Q2, etc.). Use them to check your understanding as you work.
We also encourage you to explore beyond the required content by asking your own questions and following your own curiosity.
Office Hour
Physical office hour is marked as Office Hour on the syllabus and takes place during that day’s official class time. Attendance is optional, but encouraged. The instructor and TAs will be available to answer questions and provide guidance.
We encourage you to use this time to work on the worksheet released the previous Wednesday.
We will announce online office hour hosted on Discord voice channel, if the need arises.
Hands-on Lab
Monday’s official class time is a hands-on lab, marked Lab on the syllabus. These are live working sessions rather than lectures: the instructor demonstrates and walks through how to profile performance and how to find out what a program is actually doing on a real system, as opposed to the idealised machine a textbook describes.
Attendance is optional. It is, however, the cheapest way to pick up quiz points: Wednesday’s quiz asks about what was done in the lab, and anyone who was there will be able to answer those questions.
Quiz
Wednesday’s class time is the quiz. There is no Wednesday lecture — do not go to the usual classroom. Go straight to room 326 or 328 of the CLL building (劉炯朗館) and take the quiz on the public PCs there. The quiz runs on PrairieLearn, the online assessment platform developed at UIUC, and is closed book.
Quiz covers the previous week’s content: required reading, video lectures, and the hands-on lab. If there is extended coverage, we will announce it one week in advance.
Throughout the semester, we will have 10 quizzes, and every one of them counts toward your final grade.
Attendance
If you are unable to attend a quiz, midterm or final exam due to force majeure (不可抗力因素), you may submit a leave request through the school’s leave application system. If the leave request is approved, you may apply for a make-up exam. If the leave request is submitted +3 days after the quiz or exam, you are ineligible for a make-up exam.
Programming Labs
There are two xv6 programming labs at the second half of the semester that require live demos. The demo policy is TBA.
- We provide a standardized programming environment in the form of a Docker container to prevent situations where code runs correctly on your computer but not on the TA’s.
- You are not allowed to publish your code for public access or share it with your classmates. All code should be maintained in a private GitHub repository.
- If you are found copying another student’s code, you will automatically receive a score of zero for that assignment.
Collaboration & Citation
- Take responsibility for your own learning. Don’t rely on your classmates to carry you.
- Citation: If you use information from an external website or document, you must cite the source with a link. This helps others find the resource and serves as a reference for your future self.
- Getting help: Solve problems on your own first, and only then ask a TA or post it on Discord. If you receive help on Discord from classmates or TAs, please credit them.
- Helping Others: When helping classmates on Discord, provide hints, general directions, or links to external resources. Do not share direct answers or full code snippets, as this prevents your classmates from learning. The TAs reserve the right to remove any posts that violate this rule.
Cheating
Cheating in any form will not be tolerated in this course.
Midterm & final exams: no devices, notes, or papers are permitted. All electronic devices, including phones, smartwatches, and earbuds, must be powered off.
Quiz: conducted in person on PrairieLearn, on the public PCs in CLL 326 / 328, and closed book. You must close all other tabs, applications, and terminals before the quiz begins, and you are not allowed to access communication or collaboration platforms such as Facebook, Instagram, Line, Discord, or email during quiz time. You are not allowed to access search engine or AI tools, such as ChatGPT during a quiz. You are not allowed to read any note during a quiz. All notifications must be turned off before the quiz starts; failure to do so will be treated as an attempt to cheat.
Any violation of the above restrictions or any attempt to collaborate with others during an exam/quiz will result in an automatic score of zero for that assessment.
Use of LLMs
ChatGPT or other kinds of LLM can be a great tool, but it will limit your learning if you rely on it too much. You spend your time here not just to get grade, but to learn and make this knowledge your own. Here’s some advice:
Learn how to ask: LLMs are most helpful when you know what to ask it and how to interpret its result, NOT when you copy+paste questions and then copy+paste the answer it provides.
Get definition: If you’re asking questions about OS definitions or explanations about terminology, that’s great! LLM can be a great Google replacement.
For programming lab assignments, try to write your code independently first. If you get stuck, it’s okay to ask an LLM for guidance on function usage or debugging help, but make sure you understand the solution. Never submit code that you don’t thoroughly understand.
If you’re brainstorming approaches to a problem, always think on your own first and then ask an LLM to expand your ideas. You don’t want to limit your thinking by relying on AI first. Always test what you understand.
Do not auto-generate code for programming lab and paste AI-written “discoveries” or answers without you rewriting with your own word). Grammar fix is ok, but you must write the main content.
LLMs are not permitted during quizzes, midterm, or final.