This course examines the logical design and programming aspects of operating systems and network communication. Topics covered include processes, threads, synchronization, deadlocks, memory management, virtual memory, file systems, and client-server network programming.
The overall goal of CSS 503, "Systems Programming" includes:
Prerequisite: 2.7 or better in CSS 502
[top] [top]Location & Time
Professor: Morris Bernstein
Operating System Concepts with Java, 8th edition, Avi Silberschatz, Peter Galvin, and Greg Gagne
[top]
Programming Assignment 1 | 10% |
Programming Assignment 2 | 10% |
Programming Assignment 3 | 10% |
Final Project | 20% |
Midterm | 25% |
Final | 25% |
Total | 100% |
---|
Final grades may be adjusted at the instructor's discretion.
Programming assignments should be turned in using catalyst. Submit a zip file (or gzipped tarball) containing:
README
file with any relevant notes
Assignments are to be handed in by 11:30 pm on the due date. Acceptance of late assignments will be determined on a case-by-case basis.
If a grade is egregiously out of whack with your expectation feel free to ask for another look; with the time limitation on grading, overlooking something is easy to do. Just be aware that reevaluation may cause the grade could go up or down.
[top]Live lectures are inherently interactive. Questions during class are encouraged. Please raise your hand to get the instructor's attention. At the instructor's discretion, answers may be tabled until the end of class if they are too far off topic.
Limit computer use during class to note-taking so as to not distract or disturb your classmates or your instructor. Since a large part of the presentation involves diagrams, it may be more convenient to turn off the computer and take notes the old fashioned way. Quill pens are optional.
Flash photography is not permitted. Non-flash photography to capture the white board will be permitted as long as it is not disruptive or distracting. Don't even think about video.
Silence your cell phones.
If you arrive late or have to leave in the middle of class, do so quietly without causing disruption.
The assignments and project are to be done independently unless otherwise indicated. Their purpose is to help you understand technical material. By all means, do discuss the problem statement with each other and help debug, but do your own design and coding. See the student honor code.
If collusion or other forms of plagiarism is suspected, I will discuss it with the indivdual(s) first, but paperwork has be filed. Please don't force me to have to deal with that kind of crap; they really don't pay me enough.
Simple email questions may get a response. Complex questions are best saved for office hours.
Special-needs students:
To request academic accommodations due to a disability, please contact Disabled Student Services (DSS) at 425.352.5307, 425.352.5303 TDD, 425.352.5455 FAX, or at dss@uwb.edu. You will need to provide documentation of your disability as part of the review process prior to receiving any accommodations (by the third week of the quarter).[top]
Subject to change as the quarter progresses.
Week | Date | Lecture # | Topic | Assignment |
---|---|---|---|---|
1 | Mar 31 | 1 | Introduction | |
Apr 2 | 2 | OS Structures | ||
2 | Apr 7 | 3 | Processes | Lab #1 (Apr 9 in class @ UW1-320) |
Apr 9 | 4 | Lab #1 | ||
3 | Apr 14 | 5 | Processes (cont.) | |
Apr 16 | 6 | Threads | ||
4 | Apr 21 | 7 | Threads (cont.) |
Assignment #1
due (Apr 22)
Lab #2 (Apr 23) |
Apr 23 | 8 | Process Synchronization | ||
5 | Apr 28 | 9 | Deadlocks | |
Apr 30 | 10 | File System Interface | ||
6 | May 5 | 11 | File System Implementation |
Assignment #2
due (May 9)
Lab #3 (Sunday May 11) |
May 7 | 12 | Midterm | ||
7 | May 12 | 13 | File System Implementation (cont.) | |
May 14 | 14 | Distributed Systems | ||
8 | May 19 | 15 | Distributed Systems (cont.) |
Assignment #3
due (May 23)
Lab #4 (May 21) |
May 21 | 16 | Communication in Client-Server Systems | ||
9 | May 26 | 17 | Memorial Day (no class) | |
May 28 | 18 | Main Memory | ||
10 | Jun 2 | 19 | Virtual Memory | Final Project due (June 6) |
Jun 4 | 20 | Virtual Memory (cont.) | ||
11 | Jun 9 | Final Exam | ||