COP 5570: ADVANCED UNIX PROGRAMMING (Fall 2008)

Syllabus

General Information

Objectives and Contents

The objective of this course is to give a hands-on introduction to:

The topics covered in this course include:

Prerequisites

Text

This text gives a very detailed explanation of UNIX network applications programming and along the way covers most other aspects of the UNIX applications programming, such as process creation, job control, signals, and I/O. However, the coverage of network programming is more detailed than we will need for this course, and the coverage of other aspects of the UNIX API is more diffuse than would be ideal for this course. However, there is probably no other book that would be better, and this is an excellent reference book. In class, we will only approximately follow the order or presentation of topics of the textbook, but you will be expected to read the entire book in parallel. In class we will digress from the text to fill in some background information on some aspects of the UNIX API earlier than they appear in the book.

Other References

Grading

The final letter grade for the course will be given based on four components: 3-4 individual programming assignments (tentative), one term group project, one midterm, and one final. It is expected that half of the class will get A/A- grades. The grade point distribution among the four components is as follows:

Grading of programming assignments will be based not only on functionality, portability, and correctness, but also on your understanding of your program. Late assignments will be accepted with 20% penalty each day for up to two days. The following grading policy will apply to all programming assignments:

Each group for the term group project consists of 2 to 3 students. The project topic can be either selected by the group with the approval of the instructor or obtained from the instructor. Each project should have substantial research and development (programming) components, where the knowledge acquired in this class can be applied. The project will be graded based on the final software developed, the presentation/demo at the end of the semester, and the interim bi-weekly progress reports.

Since some of the system calls you will be using can cause denial of service to other users of the system, you should not use common departmental servers such as diablo.cs.fsu.edu for your work in this course.

You should get started very early on your assignments. Do not rely on your estimates of how much time it will take you to complete, or assume that the time it takes you will be similar to the time it takes another student in the class. Moreover, you must expect the common departmental programming servers to be out of service as a deadline approaches. The project deadline will not be extended if the servers are out of service for less than 1 day during any time of the project period.

Academic Honor Code

You are required to read the FSU Academic Honor Code and abide by it. First violations will result in lowering of the final course grade by one whole letter. Repeat violations will result in a grade of F with no provision for retaking the course.

By turning in work for a grade in this course you are representing it as being entirely your own individual work. Unless otherwise specified in writing, all programming projects are individual projects. If any assignment permits teamwork, it will be explicitly stated so in the assignment, and then the work is required to be only the work of the people on the team.

What does ``individual work'' mean? An intelligent person searches publications (including the web) for information, ideas, and code. If you use information or ideas obtained from the work of another person you must at least give credit via comments in your code stating what you have used, where you obtained it, and who is the person to whom credit is due. (Beware: If an idea is patented the above is not enough; you should not use it at all without a license.) If you use any code written by another person you must first obtain permission from the author or copyright owner, then mark the beginning and end of the quoted code using appropriate comments, and include a comment giving where you found the code and the the name of the author or copyright holder. Failure to follow these rules will be considered a violation of the Academic Honor Code.

Accommodation for Disabilities

Students with disabilities needing academic accommodations should:

  1. Register with and provide documentation to the Student Disability Resource Center (SDRC).
  2. Bring a letter to the instructor from the SDRC `indicating you need academic accomodations. This should be done within the first week of class.

This syllabus and other class materials are available in alternative format upon request.

For more information about services available to FSU students with disabilities, contact the Assistant Dean of Students:

Student Disability Resource Center
08 Kellum Hall
Florida State University
Tallahassee, FL 32306-4066

e-mail: sdrc@admin.fsu.edu
phone: (850) 644-9566.