Course Overview CPS 108, Fall 1996

Software Design and Implementation

*


This course covers object-oriented programming using C++. Knowledge of C++ at the level of CPS 100 is required, or must be picked up quickly in the first two weeks in which case knowledge of C is assumed. The use of C++ will be heavily based on classes, templates, and inheritance. We will use the g++ 2.7.2 version of the STL (standard template library).

The other language we'll use extensively is Java. Last semester we used python , but Java has matrued (to some degree, not completely) and is or will be too ubiquitous to ignore.

Java is a language for developing internet/web applications. It has received a lot of hype but it appears to be both an interesting and useful language.

The course is about the design of software as well as the implementation. We'll cover techniques of object-oriented design and analysis using a modified Booch notation (Booch's company is Rational Software Corporation ) that is learnable in a week or two. We'll discuss guidelines for good design and coding using C++ and object-oriented techniques in general. Some reasonable design rules have been developed by Taligent, Inc.

The course also emphasizes the use of tools in software development and implementation, in particular (links to information about these will come soon)

* RCS (revision control system), CVS (concurrent version system
* make
* emacs

Several team projects make up the bulk of the work in the course; so there is an emphasis on working in groups including some discussion of group dynamics and the roles individuals play in a software project.

CPS 108
From Apprentice to Sorcerer in one semester

Back to CPS 108 home page

Back to Owen Astrachan's home page