General Information


Instructor : Chris Riesbeck
Office : 3.315, Ford Building
Phone : 847-491-7279
Email :
Office Hours : My calendar. I am usually available some time every day. Email or call before you arrive, or talk to me after class.
Email: TBD
Office Hours : TBD


There are no prerequisites for this class. No previous knowledge of programming is assumed.


The textbook for this class is Computer Science: A Structured Programming Approach Using C, Third Edition by Behrouz A. Forouzan and Richard F. Gilberg.

The source code for the examples in the book can be downloaded from the publisher here. The code is in a Windows installer. If you need these files for a Macintosh or Unix system, contact me.

Grading policy

Programming assignments 55%
Midterm 15%
Final 30%

Regrading requests

Requests for regrades must be submitted no later than one week after the graded paper was handed back to you. There will be no exceptions to this rule. At the end of the quarter you will be given a chance to review your final exam before the letter grades are submitted.

Late submission

Please start your programming assignments EARLY. Programs always take more time than you think they will.

Late programming assignments will not be penalized as long as the total late hours for the whole quarter do not exceed 96. After those "free" hours have been used up, you must submit your assignments before the due date for them to be accepted.

Extensions will not be given unless one of the following applies:

If you are scheduled to be out of town on the day or week when the assignment is due (e.g. interview trip, participation in sports event) you must make arrangements for turning in your assignments. We realize that such situations or heavy load for other courses may force you to turn some assignments late. This is why we have the 96-late hour policy.

Keep frequent backups of your work on floppy disks, thumbdrives, or other machines. There will be no extension if you accidentally lose your files.


You must never copy solutions from any source or make your homework available, in any form, to anyone other than the professor or TA.

Cheating will result in a failing grade for the course. University policy requires that graduate students who are caught cheating be reported to the graduate school and undergraduates to the Dean.

However, you are allowed and encouraged to discuss the assignments. This means asking for suggestions when you are stuck and discussing examples that are not part of the assignment. You must never share code or solutions to the assigned problems.

Pair Programming

Pair programming is not required but strongly recommended for most assignments. More and more studies are showing the benefits of pair programming not only in software development, but in introductory computer science courses.

A good description of how pair programming is done is here. We'll practice pair programming in the lab.

If you pair program, you must follow the rules below. Not doing so will be treated as cheating.

How to make the most out of this class

Valid HTML 4.01 Strict