cs445 - Spring 2008


This class is an introduction to methodologies for object-oriented design and programming. Examines the object model and how it is realized in various object-oriented languages. Focuses on methods for developing and implementing object-oriented systems.

Prerequisite: CS 331 or CS 401 or CS 403.

Section 51 Section 92 Section 251
Instructor Virgil Bistriceanu
Office hours Tue, Thu 5:30 pm - 6:15 pm
Office SB-214
Phone (312) 567-5146
Fax (312) 567-5067
e-mail bistriceanu@iit.edu
Lecture Thu 6:25 pm - 9:05 pm, SB-239
Teaching Assistant
  • Name: Panayiota Vassiliou
  • Office: ARC
  • Office Hours: Wed, 11am to 1pm
  • Phone: 312-567-5216
  • email: Panayiota Vassiliou



Other required books

Other books

  • Refactoring: Improving the Design of Existing Code, Martin Fowler, Addison Wesley, ISBN: 0-201-48567-2
  • Thinking in Java, Bruce Eckel, Prentice Hall, ISBN: 0-13-187248-6
  • Surviving Object-Oriented Projects, Alistair Cockburn, Addison Wesley, ISBN: 0-201-49834-0
  • The Pragmatic Programmer, Andrew Hunt and David Thomas, Addison Wesley, ISBN: 0-201-61622-X


  • Midterm: 25%
  • Final: 35%
  • Homeworks: 10%
  • Project: 30%

Everything you have to turn in must be posted on the Blackboard before midnight (Central time) the day the work is due.

For late submittal there is a 10% per calendar day penalty.

Unless stated otherwise in the assignment, all the work you submit must be individual.

Academic dishonesty will not be tolerated. Please read IIT's rules and regulations.

Exams are open-book(s) open-notes.

The following grading scale will be used to determine your grade in this class:

  • A: 90 - 100
  • B: 80 - 89
  • C: 70 - 79
  • D: 60 - 69
  • E: 0 - 59 This is a failing grade!
To pass this class you will need to have a passing mark (60+) in each of the following:
  • Homeworks average
  • Project
  • Final
Of course, the overall average must be 60+ as well.

Class attendance and participation will help settle the borderline grades. Regular class attendance is important and students are expected to actively participate in class: questions and comments are always welcome.

Assignment Submission

You are required to submit your work online, using the Blackboard. Late work will be accepted, however it is subject to the late penalties described in this syllabus.

Here are the requirements:

  • Submit your electronic copy using the Blackboard (attach your assignment as a compressed archive file (.zip, .tgz, .tbz2, .rar)
  • The name of the compressed archive should be: fistName-lastName-type-assignmentNumber.zip where type stands for any of the following, HW for homeworks, PA for programming assignment, PR for project. For example Jane-Doe-HW-1.zip or John-Smith-PR-3.bz2
  • Include (i) your document with solutions to problems in the assignment, (ii) the source code if any of the problems in the assignment requires you to write code, (iii) a README file that explains how to build and on how to run your program(s).
  • Include your e-mail address in the Comment field when submitting the assignment through the Digital Drop Box
  • If for any reason you are submitting the assignment more than once, indicate this in the Comment field by including the word COMPLEMENT

Unless otherwise stated all work you turn in will be TYPED. No handwritten work will be accepted.

Each page will have a header as follows:

  • the left side: your name
  • middle: page number and the total number of pages (ex. 2/5 indicates this is page 2 out of a total of 5)
  • right hand side: name of the assignment (ex. Homework #2)

Each page will also have a footer:

  • the left hand side will contain the following text: cs445-section: Spring 2008 where section stands for the section you are in, e.g. cs445-51: Spring 2008
  • the right hand side will contain the following text: Illinois Institute of Technology - Computer Science Dept.


The purpose of the project is to give you the opportunity to practice the concepts discussed in this class. The requirements are purposely somewhat vague such that you can interact with the client (that's your instructor) to figure out the detailed requirements.

In addition to various deliverables you have to produce throughout the semester and a working product on the due date of the project, you are expected to develop a lot of unit tests as you work on this project.

Important Events

Event Sections 51, 92, 251
Classes begin 1/22/2008
Last day to remove incomplete grades 2/29/2008
Midterm 3/13/2008
Spring vacation (no classes) 3/17 through 3/21/2008
Last day for official withdrawal 4/4/2008
Last day of classes 5/10/2008
Final 5/15/08, 7:30pm to 9:30pm, SB-239

For more important dates and detail go to the IIT site.

Last update: Mar 4, 2008 Virgil Bistriceanu cs445 Computer Science

$Id: syllabus.html,v 1.5 2008/03/05 02:51:40 virgil Exp $