Announcements

September 8th
Here is the example code for the complex calculator


September 20th
Sample data for Assignment #3. A zebra test image, and a cut out of its head as a template. Note that the file starts with P2, not P5 as I wrote on the assignment.


Oct 9th
Programming assignment #4 is now on-line (see Assignments page).


Oct 19th
The problem with the due date for the checkin script has been fixed. If you got an error saying it is late, ignore it. The due time has been extended until 8:00pm, Monday, Oct 19, 2009.


Oct 22nd
You all wanted more images; here they are. Also, people wanted Fritz's notes. The operator overloading lecture is here, whilte the inheritance notes are here.

Administration

Prerequisites

Location and Times

Please note that students are responsible for all material presented in lectures and/or recitations, and that many recitations will involve graded laboratory work.

Instructor

Assoc. Prof. Bruce A. Draper
Room 442 COMSC
web: www.cs.colostate.edu/~draper/
email: draper@cs.colostate.edu
phone: (970) 491-7873
office hours: M 9-10, W 4-5

Graduate Teaching Assistant

Benjamin Say
email: bsay@cs.colostate.edu
office hours: M 4-5, W 11-1, Th 9-10

Textbooks

About the course

Many students are under the misperception that the goal of this course is to teach C++. True, we do expect you to learn C++ in this course, but that is only one goal. This is the fourth and last course in the CS curriculum that focuses on programming (after CS160, CS161 and CS200). Our aim is to develop your individual programming skills in terms of designing, implementing and testing larger programs. (Team management and team programming are deferred, however, until CS314.) We also develop the theme of programming languages as tools: how to choose a language for a given task, how to learn a new language (in this case, C++), and how high-level languages are transformed into machine readable code. (In this sense, CS253 is preparation for the compiler design course, CS451). Topics of special interest include memory management, debugging and testing, and templates.