Syllabus

 

Course: CSCI-640 Operating Systems Theory

Prerequisite: CSCI-340 Operating Systems

Instructor: Ralph Hilzer, Retired

Units: 3

 

Contact Information: Since I am retired and no longer on campus, contact me only through e-mail at rhilzer@csuchico.edu.

 

Web Site: You will find the CSCI-640 link at my website http://www.ecst.csuchico.edu/~hilzer very useful.

 

Office Hours:  I hold no office hours, but am willing to respond to reasonable questions via e-mail.

 

Text: UNIX Systems Programming, Steven and Kay Robbins, Prentice Hall, ISBN: 0-13-042411-0.

 

Text Website: http://usp.cs.utsa.edu/usp

 

Course Description: An in-depth study of operating systems concepts.  Topics include processes, threads, virtual memory, file systems, process synchronization, distributed computing, protection, and network protocols.  Chapters 1 through 18 and queuing theory form the basis of the course with other topics selected by the instructor.

 

Exams: Two exams will be administered, one midterm and one final exam.  The midterm covers material through chapter 11, Cracking Shells.  Questions are simple program specifications which require the writing of writing a short program segment.  A sample midterm is provided at my web page.  The final exam also contains programming questions, similar to those on the midterm.  These questions stress but are not limited to concepts covered after the midterm.  The final also contains questions relating to queuing theory.  When you are ready for an exam, send an e-mail requesting it to the instructor.

 

Projects:  Three projects are assigned by the instructor.  Each time you are ready for a new project, you should request it by sending e-mail to the instructor.  The projects are intended to give you systems programming experience.  I encourage you to put a lot of thought into your projects.  A project that limps along doing only basically what the specifications require will not necessarily earn an A grade.  I expect more in terms of error routines to keep the user out of trouble, good modularity and documentation that makes the code easily maintainable, logical code segments that are consistent with what is being taught in the book.  You should pour over your projects before ever turning them in to me, seeking in advance every practical way that your program can be improved.  If I find obvious problems with your program, your grade starts with a B and goes down from there depending on what else I find in terms of problems.  By now you should be comfortable with programming.  If you approach them in the right way, my programs can be fun.  I want them to be done well with no excuses.

 

Policy: Cheating on any exam or project will at least result in failure of the course.

 

Grading Policy:    Midterm      30%

                             Projects       40%

                             Final Exam 30%

                             Total           100%