Course Objectives
The objective of this course is to provide you with a basic understanding of the issues involved in writing system programs:Window and Unix operating system APIs: manipulating system processes, system io, system permissions, files, directories, signals, threads, sockets, terminal, etc. Students are expected to have a basic knowledge of the C (or C++) programming language, in addition, an intermediate knowledge of the Unix Operating System is assumed.
Course Prerequisites:
CS 33211.
Course Expectations
Complete (approximately) weekly assignments. The solutions may be either Win32 or Unix solutions, but at least 5 on the solution must be in Win32 and at least 5 in Unix. (60% of grade)
Complete a system programming project
Project Plan due April 6, 10% of grade.
Project Software and Documentation, due May 4, 25% of grade.
Project Presentation 12:45, May 12, 5% of grade.
Suggested Textbook
Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, Bruce Molay
Supplemental Textbooks:
Windows System Programming, 3rd Edition, Johnson M. Hart This is the class reference for Win32/Win64 programming. Available on Safari
Advanced Programming in the Unix Environment, W. Richard Stevens, Stephen A. Rago This is the Standard Reference for Unix System Programming
A good shell reference book for your favorite shell.
A good UNIX book (if you need one). O'Reilly nutshell books are good.
Class Software
Visual C++ 2008( http://msdn07.e-academy.com/ksu_cs).
Grading
Grades will be assigned according to the following scale,
A 93%-100%
A- 90%-93-%
B+ 87%-90-%
B 83%-87-%
B- 80%-83-%
C+ 77%-80-%
C 73%-77-%
C- 70%-73-%
D+ 67%-70-%
D 60%-67-%
F < 60%
Registration, Student Accessibility, and Plagiarism Policies
Instructor: Arden Ruttan, 270 MSB. Phone 29066. User ID. ruttan. It is best to send me email when you wish to contact me.
Office Hours: 12:30-2:00 TH and by appointment.