CS 4-5583   UNIX Systems Programming

 

Spring 2007, Credit Hrs: 3

 

General Information

 

  Instructor: Hai  Jiang 
    Office: CSM, Room 127
    Phone:  972-3978 ext. 118
    Email:  hjiang@csm.astate.edu
  Time: Tue Thu 12:30 - 1:45 p.m.
  Location: CSM,  Room 211
  Office Hours: Tue Thu 10:45 - 11:45 a.m. &  1:45-3:15 p.m.
  Syllabus: http://www.csm.astate.edu/~hjiang/cs4-5583/syllabus.pdf
  Course Homepage: http://www.csm.astate.edu/~hjiang/cs4-5583.html
    ( Lecture notes, homework assignments, etc. )

    

 

Course Description

 

This course explains how UNIX and Linux work and shows how to write programs at the system call level. It is appropriate for students how want to learn how to write system software for Unix or for students who want to learn about the structure of a multi-tasking, multi-user operating system. Theory is presented in the context of how Unix implements the idea.  Tentative  topics include:

 

 

Prerequisites

 

CS 2193 (Object Oriented Programming) / C programming, or consent of the instructor

 

 

Textbook

 

W. Richard Stevens and Stephen A. Rago, Advanced Programming in the UNIX Environment, Second Edition, Addison Wesley, 2005. (ISBN: 0-201-43307-9)

 

 

References

 

Bruce Molay, Understanding Unix/Linux Programming, Prentice Hall2003, ISBN: 0-13-008396-8.
  •  

More course materials will be available on course homepage. Please visit it often for changes and announcements.

 

 

Resources

 

 

Grading

 

Final grades will be calculated based on the following weights:

  Homework and Programming Assignments, Quizzes:  50%  (Undergraduate) or 35% (Graduate)
  Midterm Exams: 20%
  Term Project: 15%  (Graduate only)
  Final Exam: 30%

 

The final grade will be distributed as :

      A    [90-100]

B    [80 - 90)

C    [70 - 80)

D    [60 - 70)

F     [0  - 60)

 

LabSoft

 

LabSoft system (http://plab.cs.astate.edu/) will be used for homework submission and grading.

 

Policies

 

Food and Drinks

Department policy restricts bringing either food or drinks into the classroom.
 

Electronic Devices

Cell phones are restricted during class. Cell phones must be turned off during the lecture. If your cell phone rings during class, you may be asked to leave. Other devices (computers, recorders, etc.) may be allowed, but you must ask the instructor before you use them during class.

 

Special Facilities

Students who require academic adjustments in the classroom due to a disability must first register with ASU Disability Services. Following registration and within the first two weeks of class, please contact the instructor to discuss the appropriate academic accommodations to ensure equal access to this course.

 

Rescheduling Tests

Tests cannot be rescheduled due to testing in other classes. If a test is missed due to extenuating circumstances then you must notify me as soon as possible. The circumstances must be documented by you and must be excusable in order to reschedule a test.

 

Late Assignments

For most homework assignments, the class will receive a working solution within four days after the due date. NO assignments will be accepted that are more than four days late. Assignments that are less than a week late, will be accepted with certain penalty (25% per day).

 

Cheating

You are encouraged to discuss problems and programming assignments with each other. Helping others learn is often the most powerful way of mastering material yourself. However, taking somebody else's solution without their knowledge or consent is cheating and will be punished. Do not leave copies of the programming assignments in the trash can in a public place -- throw them away at home or some other private place. Also do not leave your directories unprotected. There are harsh penalties for those found cheating.

 

Attendance

Attendance is required. If you miss a class, you are responsible for material covered during the class you missed, this includes any assignments made. Note that I do not provide one-on-one instruction for missed classes.