This course is an in-depth study of principles and concepts embodied in modern Internet-connected, multiuser, multitasking operating systems (MICMMOS, :-) ), including shells, filters, pipelines, programmability and scripting, extensibility, concurrent processing, and interprocess communication. Several integral tools and utilities are presented. Unix is used to provide concrete examples, focusing on the file system, processes, shells, and various tools including awk, diff, file, find, ftp, grep, make, man, nslookup, sed, sort, tar, traceroute, uniq, vi, which, zip, etc.
The course provides a solid conceptual and experiential basis for subsequent work in the programming, system administration, and effective general use of the Unix operating system. This conceptual basis for subsequent work is more generally applicable to other MICMMOS's and to later courses which study or use them.
Lectures and Readings
Lectures will follow assigned readings given in the course schedule. You should (at least) skim the readings before the lectures and plan a thorough (re-)reading after the lecture.
Most of the assigned readings will come from the text and most of the text will be assigned readings for the course. Assigned readings not from the text will be available on the web or through the Engineering Copy Center, 203 Engineering Tower.
This book is as much is as much an economical reference as a text. Its list price is $39.99, but it has been available on the web for less than $29, including tax and shipping. Two web sites which allow you to compare book prices are www.bookarea.com and www.mysimon.com
Homework Assignments (30% of final grade)
Homework assignments complement the lectures and readings. There will be between 4 and 5 major assignments and some minor assignments. Assigments will be discussed and reviewed in during discussion sections. Homework that is late, without prior arrangement, will have the score it earns decreased by 25% for each 24 hours or fraction thereof it is late. Thus, homework submitted 40 hours late will earn no more than half of the maximum score possible.
All work presented must be your own unless the assignment allows for group/team work. In general, you are welcome, indeed encouraged, to offer and to seek assistance, but the final product submitted must represent the work of the person(s) submitting it. In the case of group/team assignments, each member of the group submitting the assignment must be indicated and all members are responsible for understanding all parts of the work submitted.
Quizzes and Final Exam (60% of final grade)
There will be 5 in-class quizzes with the best 4 scores counting toward 30% of the final grade and the final exam counting 30%. A missed test receives a score of 0. You are allowed and encouraged to use written reference materials: the text, your course notebook (see below), a favorite reference, etc. All materials used must be bound or kept in some sort of notebook. Loose sheets of paper are not allowed. During a test, no sharing or borrowing of reference materials is allowed.
Class Participation and Course Notebook (10% of final grade)
Class participation includes lectures, discussion sections, electronic communication, and other interactions. It includes asking and responding to questions, offering comments, helping others, and (in general) taking responsibility both for your own learning and for helping others learn.
Every student is encouraged (indeed, urged) to keep a course notebook including relevant reference materials and recording questions (and answers), course activities, observations, etc. One can expect to find such a notebook useful throughout all aspects of this course (including, as mentioned above, quizzes and the final exam) and of continuing value outside the course as well.
Important Policies and Procedures
In addition to the standard UCI Academic Senate Policy on Academic Honesty, which applies to all UCI courses, this course is also governed by ICS Policies and Procedures.