Go to USC home page USC Logo CSCE 510 System Programming
Course Home Page | USC Acdemic Calendar Fall 05 | Student Handbook | CSE Secure Site | Fall 05 Exam Schedule




Laboratory Assignments



College of Engr.

University Home Page

Library USCAN

CSCE 510 Systems Programming

General Information

Catalog Description: System software such as command language interpreters, client-server applications, debuggers; mail systems, browsers, macroprocessors, and revision control systems; file systems, processes, threads, and interprocess communication. Prerequisites:  CSCE 245

Detailed Course Description

This course provides an in depth study of systems software and its development. In particular it includes discussions of: macro-processors, compilers, loaders, debugging environments, archivers, web browsers, program development and archival tools, command language processors(shells), file systems, I/O support, processes, threads, interprocess communication, and client server applications. There will be six to seven major programming assignments. The investigations will all be tested on equipment in the Department of Computer Science and Engineering.

GOAL The goal is for you to become a Unix Systems Programming Expert by learning

  • Unix System Calls
  • Software Development under Unix
  • Software performance analysis
  • Standard Libraries/Classes
  • Files and File systems
  • I/O system calls
  • Interprocess communication
  • Client server systems
  • Multithreaded programs
  • Implementation of System Software: editors, shells, archivers, debuggers, web browsers, mail readers and distributed systems such as napster.
Main text

Texts and Reading Material

The textbook for this course is Advanced Programming in the Unix Environment by Richard Stevens and Stephen A. Rago, Addison Wesley, 2005. You will also need a C reference and a C++ reference.

Other references that will be used include:

  1. Unix System Programming, 2nd edition by Haviland, Gray and Salama and published by Addison-Wesley, 1999.
  2. Linux Kernel Internals 2nd edition by M. Beck et. al. Addison Wesley, 1997.
  3. The C Programming Language 2nd edition by Brian Kernighan and Dennis Ritchie, Prentice-Hall.
  4. C: A Reference Manual 3rd edition by Samuel Harbison and Guy Steele, Prentice Hall, 1991.
  5. The C++ Programming Language 3rd edition by Bjarne Stroustrup, addison Wesley 1997.


    Manton M . Matthews
    3A57 Swearingen
    Phone: 777-3285
    Office Hours: MTWTh 9:30-11:00AM, and after class
     Email: mm at sc in the domain edu

Teaching Assistant

    Naveen Santhapuri

    Office Hours: TBA
     Email: santhapu

    Time and Location

      TTh 5:30- 6:45PM, SWGN 2A21, MATTHEWS M

    Important Dates

    Date Significance
    Thursday September 22 Test 1
    Thursday September 29 Last day to withdrawal without WF
    Thursday November 17 Test 2
    Thursday, December 8 - 5:30 p.m Final Exam

    Link to the Exam Schedule for Fall 2005


    The homework is due before the start of class. No late homework or projects will be accepted. If you cannot make it to class due to other commitments, you can hand in your homework the day before it is due.

    Grading policy:
    The final grade will be based on two midterms, assignments and the final exam, according to the following weights:

    • Homework and Assignments: 25%
    • Two Tests: 20% each
    • Project 10%
    • Final: 25%

    Academic Integrity

    The homework and programs you submit for this class must be entirely your own. If this policy is not absolutely clear, then please contact me. Any other collaboration of any type on any assignment is not permitted. It is also your responsibility to protect your work from unauthorized access. You are reminded that you are expected to know and follow the academic code of responsibility that appears in Carolina Community: Student Handbook & Policy Guide, in the "Academic Responsibility Section" (Link to actual section) In particular all work submitted for this course must be your own. Violations of this code can result in actions varying from a failing grade to expulsion from the university.

    Solutions to midterms will be distributed when the exams are returned, usually within one week of the exam.

    Questions about grading of midterms and labs must be presented to the instructor within one week after the tests or lab reports have been returned.