CS5600: Computer Systems
12/18: Final grade distribution and letter grade scale released
- See Canvas homepage for the information.
Course information
- Course Number: CS 5600
- Lectures: TueFri 13:35 - 15:15
- Room: International Village 019
- Instructor: Cheng Tan
- Teaching Assistants: Mania Abdi and Arvind Mukund
- Staff mailing list:
cs5600f21-staff (at) ccs.neu.edu
- Office hours:
Mon | 15:00-16:00 | Arvind Mukund | Microsoft Teams (see Canvas for instructions) |
Thu | 10:00-11:00 | Mania Abdi | Microsoft Teams (see Canvas for instructions) |
Fri | 15:30-16:30 | Cheng Tan | In-person, 332 WVH |
The course
- The lectures will cover topics of computer systems and operating systems. See schedule here.
- The labs are an important part of the course. See them here.
- The homeworks are intended to reinforce the contents of lectures. They will be posted on the schedule page.
- The announcements will be posted here.
- The policies and grading for this course is here.
Goals and non-goals
Goals: The main goal of this class is to teach you how to think from the prospective of a system developer and give you some tools to address system related problems. After completing this course, you should realize that there is no magic in computers and you should have the confidence to solve most computer system problems (if given enough time). Further, this course aims to let you try the workflow and environment of system development, including tools like Linux command line, vim, and git. Of course, you will learn a series of skills through practice. Coding (the labs) is a critical part of this course and, hopefully, you will find it rewarding.
Non-goals: This course is not supposed to
- teach you how to program,
- teach you any specific programming languages,
- train you to get a high score in your system design interviews (though, likely, you will get it as a bonus of your hard work in this course).
Textbooks
- HOSW: How Operating Systems Work, by Peter Desnoyers, Fall 2020 edition.
- OSTEP: Operating Systems: Three Easy Pieces, by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau, August 2018, edition 1.00.
- xv6: xv6: a simple, Unix-like teaching operating system, by Russ Cox, Frans Kaashoek, and Robert Morris, September 2018.
Note: a newer version is here, but on RISC-V.
Acknowledgments
We are heavily indebted to NYU CS202, prior CS5600s (summer18, spring20, fall20, spring21), and ancestors of these courses.