Syllabus for CS 4953 Special Studies in Computer Science: Advanced Topics in Concurrency and Communication

Fall 2003


Instructor: Dr. Steven Robbins
Office: 3.02.01A SB
Phone: 458-5544
Address: srobbins@cs.utsa.edu
Course Homepage: /classes/cs4953f2003/index.html
Office Hours: TTH 9:30 - 10:45 and by appointment
Class Times: TTH 11-12:15 in room 3.02.30 HSS

Texts:
   Required

UNIX Systems Programming, (2nd Edition of Practical UNIX Programming) by Robbins and Robbins
   Reference
IEEE 1003.1, Standard for Information Technology --- Portable Operating System Interface (POSIX), September 2001
(password available in class)

Prerequisite: CS 3733, Operating Systems

Course Objectives:

  • To understand advanced concepts in concurrency and communication.
  • To become more familiar POSIX standards and reading standards documents.

    Course Content:
    We will be using our SUN workstation laboratory in room 3.02.04SB.
    The general topics to be covered include:

  • POSIX realtime signals, clocks and timers,
  • POSIX threads, semaphores mutexes, condition variables
  • Message passing and shared memory
  • Communication: connection-oriented, connectionless and multicasting.

    This will be a project oriented course in which projects will be selected from the topics above.

    Grading:

  • 20% Midterm
  • 40% Assignments
  • 40% Final Project

    Notification of final grades:
    If you wish to receive your final grades by email, send me an email message some time after the last class and before the final. The message should have the subject line
    CS 4953 Grade Request
    and the message should have a valid return address. After I have graded the final project and determined the letter grades for the course I will reply to your email message.

    Course Policy:
    Friday, October 24, is the last day to drop this course. No make-up exams will be given except for university sanctioned excused absences. If you must miss an exam (for a good reason), it is your responsibility to contact me before the exam. Leave a message at the above number or send me email.

    Unless otherwise stated, all assignments are due at the beginning of class on the due date. There will be a 10 percent penalty for assignments turned in after that time. Do not miss class to finish an assignment. Turn in what you have for partial credit. Assignments which are more than 12 hours late will not be accepted unless prior arrangements have been made.

    You must keep copies of the source code for all assignments for this course at least until you receive the your final grade for the course. At any time during the semester you may be asked to demonstrate any of your programs.

    You are to do the assignments without collaboration. You can ask me questions about any aspect of an assignment. General discussion with others on the system or on an approach to a problem is constructive and is okay. However, since your grade is based on your assignments, they must be your own work. Students who hand in programs or written assignments which are identical or nearly identical are cheating. Students may not work on the programming assignments together. This type of scholastic dishonesty usually results in immediate failure in the course and can lead to additional disciplinary action.