Syllabus
| Term | Spring, 2026 |
| Course | CSC3150: Operating Systems |
| Prerequisites | CSC3002 C/C++ Programming or CSC3200 Data Structures and Advanced Programming |
| Instructor | Yunming XIAO |
| Lecture Time | Tuesday & Thursday, 10:30am - 11:50am |
| Lecture Location | Teaching Complex D106 |
| Tutorial Time | Wednesday 6pm - 7:50pm |
| Tutorial Location | Teaching D Bldg 307 |
About the Course
This course introduces the fundamental architecture and core functions of operating systems. Through an examination of both overall system structure and individual components across different types of operating systems, the course explores key design issues, algorithms, and the trade-offs involved in operating system design.
Course Format
Lectures
Lectures will be given twice a week on Tuesdays and Thursdays from 10:30am to 11:50am.
Tutorial Sessions
You will sign up for the required tutorial section starting from the second week. Your tutorial peer mentor will be your “go to person” for the course - feel free to reach out to them with any questions or concerns that you may have. The tutorial will be given once a week on Wednesday from 6pm to 7:50pm.
Course Staff
We have 2 teaching assistants and 1 undergraduate student teaching fellow (USTF) to help you:
Teaching Assistants
- LI, Cheng (Lead) (225040518@link.cuhk.edu.cn)
- ZHENG, Yihao (yihaozheng1@link.cuhk.edu.cn)
Undergraduate Student Teaching Fellows
- ZHENG, Jiyan (jiyanzheng@link.cuhk.edu.cn)
Course Materials and Resources
Free Online Resources
- Operating System Concepts, by A. Silberschatz, P. Galvin, and G. Gangne
- Operating Systems: Three Easy Pieces, by Remzi and Andrea Arpaci-Dusseau
- The RISC-V Reader: An Open Architecture Atlas, by D. Patterson and A. Waterman, Strawberry Canyon
Installing Software
To complete the programming assignments for this course, you will need access to a Linux machine, either physical or virtual. You will also need to obtain and set up xv6.
Getting Questions Answered
Office Hours
Office hours (and tutorials) are hands down THE BEST resource this course has to offer. We have 2 TAs and 1 USTF whose job is to help you to be successful and find your own power as current and future programmers. That said, it's up to you to take initiave and cultivate a weekly / bi-weekly office-hours-going practice that works for you and your schedule.
The kinds of questions that are perfectly legitimate to ask in office hours include (but are not limited to):
- I don't know where to start in this week's homework. Can you help?
- My laptop won't run the code! Help!
- My code's not working? What's my error?
- I didn't understand X idea in lecture / tutorial this week. Can you explain it to me?
- What courses should I take next after CSC3150?
- What kinds of CS-related careers and opportunities are out there?
Blackboard
All course announcements, assignments, grades, and other course materials will be posted on the course Blackboard site. You should check this site regularly.
Grading Questions
For grading questions/concerns you should go to the TA's grading office hours. You can also send them a private message through email with assignment grading questions/concerns.
Other Questions
For any other issues that you think are not appropriate for the TAs, please come talk to me. This might include things like concerns about your progress in the course, questions about content from my lectures, personal matter related to your participation in the course, larger grade concerns, advice about future courses, majors and internships, etc.
Office Hours
My office hour is on Tuesdays from 2:00-3:00 PM, after class (and after lunch), in my office at Zhixin Building 403A.
The office hours by the TAs will be announcements later.
Grading
Your course grade is calculated based on 100 points as follows:
| 4 projects | 25% each | 70 Points | 70% |
| Final exam | 1 x 25 Points | 25 Points | 25% |
| Participation | 2 x 2.5 Points | 5 Points | 5% |
| 100 Points | 100% |
Final grades will be curved according to the university policy.
On occasion, the grader may make an error. You will receive your assignment grades on Blackboard. If you have any grading questions/concerns, please send an email to the TA to resolve the issue. Finally, it is your responsibility to keep up-to-date on class material and announcements, as the schedule is subject to change. This includes material presented and announcements made in class, via email, or on Blackboard.
Policy on Academic Honesty
For the assignments: You are allowed (encouraged, even!) to discuss general approaches to solving problems, but all work you submit must be your own. Working “together” and presenting variants of the same file is not acceptable. Here are some specific guidelines to make sure you don't cross the line:
- It's OK to explain a concept to other students*.
- It's OK to discuss algorithms/testing strategies with other students.
- It's OK to search for online for generic algorithms (e.g., hash table).
- But it's NOT OK to share code or test cases with other students.
- It's NOT OK to copy or read another student's code or test cases.
- It's NOT OK to copy or read online code or test cases.
- It's NOT OK to upload your solutions online (during AND after the course).
We compare all homework submissions against each other and online solutions and will take actions against offenders.
* AI is considered as a student who has taken CSC3150 before.
Contact the instructor if you have any questions about what is appropriate.