Overview of CS1412 / Spring 2006


Course Objective

Short Synopsis

Object-oriented programming in C++ with emphasis on evaluation of alternative program design strategies. Class design, recursion, linked and dynamically allocated structures. This class will deepen the students understanding of designing and evaluation of larger programs.

Learning Outcomes

  1. Students will analyze a problem and develop an object-oriented solution.

  2. Students will use basic UML diagrams for their design.

  3. Students will master C++ class syntax and semantics.

  4. Students will confidently apply the Standard Template Library containers and algorithms.

  5. Students will compare and evaluate alternative software designs for at least one project.

Methods of Assessment

  1. Participation in class through excercises

  2. Participation in the lab through lab excercises

  3. Work on individual programming / design projects

  4. C++ Programming homework excercises

  5. Written and final exams

Announcements / Assignments

Announcements are posted on the class web page. Please check them frequently.

Students are required to be responsible for knowing about oral announcements or requirements not listed in this syllabus.

Class Hours

Section Activity Time Location
92 Lecture TR 9:30 - 10:50 am CS 201
505 Lab T 12:30 - 1:50 pm PE 118

Attendance policy

Attendance in class will be checked every day. Attendance is not a certain percentage of the grade, but may be bring a grade down if to many classes are missed.It is the students own responsibility to acquire the material covered in classes she / he missed.

There will be excercises in class that can not be made up, unless you have a valid excuse. Proof (e.g. doctors note) may be required.

If, for any reason, you are absent on an exam / programming test date, you will have to notify the instructor on the same day at the latest. This can be done by a roommate, friend, parent, etc.

Civility in the classroom

Unacceptable behavior in the classroom includes: cellular phones or beepers, demanding special treatment, excessive tardiness, making offensive remarks, prolonged chattering, sleeping, "I paid for this" mentality, leaving the lecture early, dominating discussions, making unnecessary jokes, speaking out of turn, shuffling backpacks and notebooks, reading other material during class.

Lab policy

Lab attendance is required. Your grade will be affected by missed labs.

The Lab assignments have to be done during the lab period in the Lab. The students may leave early if the assignments are completed. If the assignments are not completed students may submit them after the lab, but only if they have worked on it during lab time!


Lecturer: Max Berger, CS 306 J , Office hours: Tuesdays 11 - 12

Teaching Assistant: TBA

The best way to reach me is to schedule an appointment via e-mail.

Text Books


  • Fundamentals of Object-Oriented Design in UML By Meilir Page-Jones. Addison Wesley, ISBN: 020169946X

Strongly suggested:

  • UML Distilled: A Brief Guide to the Standard Object Modeling Language, 3/E Martin Fowler Addison Wesley, ISBN: 0-321-19368-7

And either

  • C++ Pocket Reference By Kyle Loudon 1st Edition May 2003 Series: Pocket References ISBN: 0-596-00496-6


  • C++ in a Nutshell A Desktop Quick Reference By Ray Lischner 1st Edition May 2003 Series: In a Nutshell ISBN: 0-596-00298-X

Textbook policy

If you can't find the mandatory text book at the book store please get it online. There will be tests over material in the text book that might not be covered in class!


Your C++ programs will need to able to run under one of the following environments:

  • Eclipse CDT on Windows with MinGW GCC 3.2

  • Eclipse CDT on Macintosh with Apple GCC 3.4 or 4.0 (installed in the lab)

Please read the installation instructions for eclipse.

You will need a program to draw UML diagrams. Two of them are:

You will also need:

  • A program that can create / unpack ZIP files, example: FilZip (not needed in Mac OS X / WinXP)

  • Adobe Acrobat Reader or another PDF reader.

All necessary software is installed in the lab. You may use the provided links / information to install these on your personal computer.


Item Weight (MidTerm Grade) Weight (Final)
Total 100% 100%
Labs 20% 15%
Tests & Final 20% 30%
Programming Excercises 30% 15%
Projects 20% 30%
Participation 10% 10%

Numeric to letter grades: 0-59: F, 60-69: D, 70-79: C, 80-89: B, 90-100: A. A higher grade may be given if students shows promise of success, A lower grade may be given if student shows lack of discipline (e.g. many missed classes).

Zero-Rule: Should any of the individual grade averages be zero (e.g. never turned in any projects) the student will receive an F regardless of the total average!