A second objective is to understand concurrent processes/threads and how to control that concurrency.
Very few of us will ever write a real operating system, so why bother studying this material? The operating systems controlling ordinary user's desktop workstations are becoming increasingly sophisticated (witness the various implementations of Unix, OS/2, Windows NT, and Windows 95). For one, as computing professionals, it is imperative that we understand the components of such sophisticated OSs so that we can diagnose and repair operational and performance problems with these systems.
Another reason comes from the preface of Patterson & Hennessy's book on computer organization: ``We believe that learning in computer science and engineering should reflect the current state of the field, as well as introduce the principles that are shaping computing. We also feel that readers in every specialty of computing need to appreciate the organizational paradigms that determine the capabilities, performance, and, ultimately, the success of computer systems.''
I expect you to be proficient in C++ and Unix. See the Feb. 9--16 lecture
outlines on the CS23 home page
http://keystone.westminster.edu/~kelliher/cs23/cs23.html) for help.
If you need further assistance, see me early in the semester.
A = [90--100]
B = [80--90)
I use +/- grading sparingly.
Course Point Distribution
The following is tentative.
I will consider extra credit opportunities. Most likely, this will require the in-class presentation of a research paper from the literature.
A first offense will result in a grade of zero points for the assignment, Any subsequent offenses may result in a charge of academic dishonesty being filed with the Dean of the College, along with a grade of zero.
That said, I realize that Computer Science is best learned in a collaborative environment. You should work together and enhance each others' understanding of the material. However, you are ultimately responsible for your own learning. By depending too strongly on someone else for help with an assignment, you most definitely jeopardize your ability to perform well on a midterm or final. The name of anyone with whom you collaborate on an assignment must be listed on the assignment.