http://www.cs.rpi.edu/courses/sysprog/index.html
Corey Bufi
Amos Eaton 108, 518-276-6907
email: bufic@cs.rpi.edu
Office Hours: M W 12:00 - 2:00
Prerequisites: Students are assumed to be able to program in C and to have a basic understanding of data structures and assembler language programming.
Academic Integrity: All programs submitted must be your own work, and you are expected to develop your programs independently. You may receive as much help as you wish on the use of the operating system, text editors, debuggers, file transfer protocols and so on. You may consult with other members of the class about interpreting the assignment, and you may get help in finding bugs, but not fixing bugs, but you are not allowed to look at or copy another person's code or discuss design decisions with others, and you cannot show your code to others. Students found to be in violation of these guidelines will fail the project, and will be reported to the dean.
Programming assignments: This is a programming intensive course, and students are expected to be strong C programmers. Assignments may be done in either C or C++. While you may use whatever platforms or compilers you wish to develop your code, all code submitted must run on both Sun and AIX platforms on RCS and must compile without errors or significant warnings using gcc -Wall .... Assignments will be submitted by e-mailing source code to the TA (multiple files should be bundled using shar). You must submit a make file with each assignment. There will be ten point per day penalty for lateness.
Date | Topics | Reading |
---|---|---|
Tu Aug 27 | Unix standards, Posix, debugging, shar | Stevens Ch 1,2 |
Th Aug 29 | Structure of a C program, compiling, linking, make, libraries, concept of a system call, errno | Stevens, Ch. 7 |
Tu Sep 3 | I/O, Files, file system calls | Stevens, Ch 3 |
Th Sep 5 | Files and directories, more system calls | Stevens, Ch 4,5,6 |
Tu Sep 10 | Process concepts fork, exec, etc. | Stevens, Ch 8 |
Th Sep 12 | process group relations, daemon processes | Stevens, Ch 9 |
Tu Sep 17 | Signals | Stevens, Ch 10 |
Th Sep 19 | Interprocess Communication, Pipes, FIFOs | Stevens, Ch 14 |
Tu Sep 24 | Concurrency Concepts | none |
Th Sep 26 | Concurrency in Unix, semaphores, file locks, shared memory | Stevens, Ch 14 | Tu Oct 1 | Examples, a postscript printer, a database library | Stevens Ch 16, 17 |
Th Oct 3 | The Client Server model, sockets | Online reading |
Tu Oct 8 | More on sockets, the Internet, review | none |
Th Oct 10 | Exam | none |
Th Oct 17 | Design of Clients and Servers | |
Tu Oct 22 | Intro. to networking, protocol stacks | |
Th Oct 24 | The Internet, IP | |
Tu Oct 29 | TCP and UDP | |
Th Oct 31 | Security, Kerberos | |
Tu Nov 5 | Overview of the X window system | Young, Ch 1,2,3 |
Th Nov 7 | Primitive Motif Widgets | Young, Ch 4 |
Tu Nov 12 | Manager Widgets | Young, Ch 5 |
Th Nov 14 | Menus and dialogs | Young Ch 6,7 |
Tu Nov 19 | Events | Young, Ch 8 |
Th Nov 21 | Graphics, color, fonts, bitmaps | Young, Ch 9-13 |
Tu Nov 26 | Creating your own widgets | Young Ch 14, 15 |
Tu Dec 3 | Review | |
Th Dec 5 | Exam |
If you have problems or suggestions - send mail to sysprog@cs.rpi.edu.