CSC 373: Computer Systems 1


Course Overview

This course covers the concepts underlying all computer systems and how they affect the correctness, performance, and utility of application programming. The course topics include machine-level programming and architecture and their relevance for application programming; information representations; assembly language and debuggers; processor architecture; program optimization; and memory hierarchy and caching. If time permits, basic system-level I/O and network programming also will be covered.

Textbook

Bryan & O'Hallaron, Computer Systems: A Programmer's Perspective, Prentice Hall, 2003. ISBN: 0-13-034074-X
The text readings are: Chapters 1 through 3, parts of Chapters 4 and 5, most of Chapter 6. Time permitting, parts of Chapter 11 and Chapter 12.

Prerequisites

The firm prequisite is programming experience. For CDM students, the second course in the basic Java sequence (CSC 212) or the Java for Programmers course (CSC 224) would be sufficient. In general, a student should have completed at least two basic programming courses in a modern language such as Java. The course relies heavily on coding examples written in C and several assignments involve the compilation and execution of C programs. (Students will not be required to write any C programs from scratch but may need to modify existing programs.) Although no knowledge of C in particular is assumed, the ability to program is assumed. (A README document on the course homepage explains how to get C for a Windows machine and how to use the CTI-provided Linux machines, which have a standard C compiler.)

Grading

Because Summer courses are only five weeks long, there will not be a midterm exam. The final exam is a quality control exam with material drawn from and, therefore, closely related to material from the homework exercises. The single best preparation for the final exam is to do the homeworks as well as possible. There will be one homework assignment per week, with a week to complete the assignment. All homework must be submitted on time so that the material then can be discussed in class. Answers to the homework will be posted shortly after the deadline submission; so, of course, homework cannot be submitted after the deadline. Near the end of the course, there will be one makeup homework that can be submitted in place of a regular homework. (If you submit all regular homeworks and the makeup, I'll substitute the makeup homework grade for the lowest of the regular homeworks, if the makeup grade is higher.)
The grading will be determined as follows:

A student must pass the final exam to pass the course.
Homework assignments will be worth 100 points and graded as follows:
93-100A
90-92A-
87-89B+
83-36B
80-82B-
77-79C+
73-76C
70-72C-
67-69D+
60-66D
0 - 59F

Instructor

kalin@cs.depaul.edu
Course Homepage
Office: 907 CTI building
Hours: 4:00PM to 6:00PM, T/Th and by arrangment