| Course Description: | The objective of this course is to teach students to program /well/ in
an object-oriented style. The focus is more on object-oriented design
and programming than on a particular language and its niceties. The
course will use the Squeak dialect of the Smalltalk language because
Smalltalk is very simple and allows the programmer to manipulate
objects directly. Using Smalltalk permits the course to be focussed on concepts
rather than on navigating the intricacies of a language definition.
Samples of other languages, such as Ruby and Java, may be included.
Topics covered will include responsibility-driven design, test-driven
development, refactoring, code reading, reuse, parameterization,
inheritance and programming patterns.
/Prerequisites/: some familiarity with object-oriented programming is
assumed, but experience with Smalltalk is not required. We also
assume a working knowledge of discrete mathematics and machine
organization — the fundamentals of instruction coding and data representation in the
computer's memory. (Students who have completed PSU CS 310 and CS 340
will be well prepared) |