CSC 406: Systems 1


Course Overview

This course examines the concepts and technologies underlying computer systems. The emphasis is on how such systems affect the correctness, performance, and utility of application programming. The course topics include machine organization, information representations, assembly language and debuggers, memory hierarchy, virtual memory, pipelining, basic system-level I/O, and networking. The course also introduces C-language programming.

Textbook

Bryan & O'Hallaron, Computer Systems: A Programmer's Perspective, 2nd edition (2011) Prentice Hall. ISBN 13:978-0-13-610804-7

For those who would like a book on C, the classic is Kernighan-Richie, The C Programming Language, 2nd edition (2013), Prentice Hall. ISBN 0-13-110362-8

Prerequisites

The firm prerequisite is programming experience, including experience gained through a course such as CSC 401. A course in discrete structures (e.g., CSC 400) is also strongly recommended. The material in CSC 406 is challenging.

The course relies heavily on coding examples written in C because C is the languate in which modern operating systems are written. Several assignments involve the compilation and execution of C programs; other assignments require programming in C. (C and C++ are distinct languages. This course uses C rather than C++.) Although no knowledge of C in particular is assumed, the ability to program is assumed.

Grading

There will be regular (typically weekly) homework exercises and discussion of these in the following week.
The final exam is a quality-control exam with material drawn from and, therefore, closely related to the questions on the homework. All homework must be submitted on time so that the material then can be discussed in class. Answers will be posted on-line after the submission deadline. There will be one make-up homework, which may be substituted for any other homework.
The grading will be determined as follows:

A student must pass the final exam to pass the course.

Students are expected to do their own homework, of course.

Instructor

kalin@cs.depaul.edu
Course Homepage
Office: 902 CDM building
Hours: 4:30PM to 5:30PM, Tuesdays and by arrangment