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

Undergraduate Student Teaching Fellows

Course Materials and Resources

Free Online Resources

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):

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:

Contact the instructor if you have any questions about what is appropriate.