CS 361: Computer Systems
CS 361 is a course which covers how system software is created.
News
- The first lab will be on Monday the 28th
- We'll use clickers starting the 3rd week of class. Don't forget to bring yours!
- First homework posted (see below)
- Readings for the week will be posted by Sunday noon
- Lecture slides posted to blackboard, as will be lecture recording
- Please no email! Use Piazza to write to us.
- Course web sites
- Piazza for discussion of assignments and other course material
- Blackboard for turn in and autograde
- Gradescope for automatic grading
- Github
Readings
- 1/15: 7.1-5 (lecture notes: 1-linking 1-15)
- 1/17: 7.6-9 (lecture notes: 1-linking 16-36)
- 1/22: 7.10-15 (lecture notes: 1-linking 37-48); 8.1-3 (lecture notes: 2-ecf-procs)
- 1/24: 7.11-12 (Shared libraries)
- 1/29 8.4
- 1/31 8.5-
Teaching Assistants
All TA office hours in SEO 120.Teaching Assistant | Office hours |
---|---|
Shaika Chowdhury | Thur 12:00-2:00, Fri. 12:00-2:00 |
George Dill | Mon 3:00-5:00, Thur. 9:00-3:00 |
Vinay Manchundiya | Tues 11:00-1:00, Wed. 11:00-1:00 |
Syllabus
- Linking
- Exceptions and processes
- Signals
- I/O
- Virtual Memory
- Memory allocation: explict and garbage collection
- Concurrent programming
Programming assignments
- Assignment 1: Linking
Workload and needed background
This course covers the second half of Bryant and O'Halloran.Course work
The course work consists of:
- 7 Programs (45%)
- Lab participation (5%)
- Class participation (10%)
- 1 test (15%)
- 1 final (25%)
Tests will cover conceptual issues from system aspects and programming techniques covered.
Academic integrity
Students who are caught cheating will immediately fail the course, and have the cheating recorded in their record. For 1st year graduate students (because this is a 5 hour course), this usually results in expulsion from the program. Students who already have been caught cheating will go through disciplinary hearings, with the goal of having them expelled from the university.
Students who fail to demonstrate on tests an understanding of the programs they have handed in will fail the course.
You are not to show your program to anyone nor to look at anyone else's program. You may discuss programming concepts but only in general term.
Covered topics
This course covers network programming and systems programming from the operating system viewpoint. Special emphasis is given on standards based APIs, with explanation of typical interfaces.
Required Text
- Computer Systems: A Programmer's Perspective, Randal E. Bryant and David R. O'Hallaron, Third Edition.
Recommended Text
- The C Programming Language, Brian W. Kernigan and Denis M. Ritchie, Prentice Hall.