CpSc 350, Principles of Concurrent Programming and Operating Systems
Syllabus: Fall, 1998
Meets: MWF 4 (11:30 a.m. - 12:20 p.m.), ECB 119
Instructor: Michael P. Conlon, Ph.D.
Phone: 412-738-2143
Email: michael.conlon@sru.edu
Office hours: To be arranged.
Prerequisites: assembly language, algorithms and data structures, programming languages, and theory of computation (CpSc 250, 252, 254, 256)
Texts: Operating System Concepts, Fifth Edition, Silberschatz and Galvin, Addison Wesley, 1998, ISBN 0-201-59113-8
Important Dates:
Exam 1: October 2 and 5
Personal Project: September 30
Exam 2: November 11 and 13
Team Project: November 18
Final Exam: Thursday, Dec 17, 11:30 a.m.
Projects:
Personal: visual command interpreter
Team: multiprogramming batch operating system
Grading:
homework & quizzes 5
personal project 20
team project 30
exam 1 15
exam 2 15
final 15
To pass, you must submit all assigned programs, quizzes, and homework, and take all exams.
Attendance policy:
Attendance is expected. Should you be unable to attend a class, send electronic mail indicating the reason for missing the class, at the earliest opportunity. Proximate deadlines for class projects are NOT acceptable excuses for absence from class. Your grade may be reduced for poor attendance.
Notify me as soon as possible if you need alternate exam times. I may require evidence of a compelling reason for missing the exam.
Plagiarism Policy:
Plagiarism will earn you an F grade for the course. Remember that, while discussion of the technical aspects of the personal project with your teammates is encouraged, the design and coding must be entirely your own effort.
Coursework Submission Policy:
Each project is due in my mailbox in the Computer Science Department office before 3 PM on the due date. Late work will be downgraded a grade point for each day, or fraction thereof, late. No late work will be accepted after the second-last week of classes.
Program Grading Criteria:
I. documentation
a. program header
b. module headers
c. comments
d. HIPO charts
II. style
a. module cohesion (strength)
b. coupling (intermodule communications)
c. form (spacing, indentation)
d. informative identifiers
e. annotated (meaningful) output
III. correctness
a. solution appropriateness
b. generality
c. efficiency
d. completeness
e. error handling
f. output
Weightings for these parameters may vary from assignment to assignment.
Aug | 28 | Introduction: Operating Systems | Ch. 1 |
31 | Computer-System Structures | Ch. 2 | |
Sep | 2 | Operating-System Structures | Ch. 3 |
4 | The Command Interpreter. Personal project announced. | ||
9 | Processes | Ch. 4 | |
11 | |||
14 | CPU Scheduling | Ch. 5 | |
16 | |||
18 | Process Synchronization | Ch. 6 | |
21 | |||
23 | |||
25 | Deadlocks | ||
28 | Cohesion and coupling, team programming, HIPO | ||
30 | Personal project due. Team project announced. | ||
Oct | 2 | Exam 1a (Chapters 1-7) | |
5 | Exam 1b | ||
7 | Memory Management | Ch. 8 | |
9 | |||
12 | Virtual Memory | Ch. 9 | |
14 |
|||
19 |
|||
21 |
File System Interface | Ch. 10 | |
23 |
Team meetings | ||
26 |
|||
28 |
File System Implementation | Ch. 11 | |
30 |
|||
Nov |
2 |
I/O Systems | Ch. 12 |
4 |
Secondary-Storage Structure | Ch. 13 | |
6 |
|||
9 |
Tertiary-Storage Structure | Ch. 14 | |
11 |
Exam 2a (Chapters 8-14) | ||
13 |
Exam 2b | ||
16 |
Network Structures | Ch. 15 | |
18 |
Team project due. | ||
20 |
Distributed System Structures | Ch. 16 | |
23 |
Distributed File Systems | Ch. 17 | |
25 |
|||
30 |
Distributed Coordination | Ch. 18 | |
Dec |
2 |
Protection | Ch. 19 |
4 |
Security | Ch. 20 | |
7 |
Unix | Ch. 21 | |
9 |
Linux | Ch. 22 | |
11 |
Historical Operating Systems | Ch. 24 | |
Dec |
17 |
Final exam, 11:30 a.m. |
Return to top of syllabus.
Return to Dr. Conlon's home page.
Go to Computer Science Department home page.
Go to Slippery Rock University home page.