CS 520 Object Oriented Programming

Credit Hours: 3
Course Coordinator:
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)
Prerequisites: CS 322
Goals:
Example Textbooks:
References:
Major Topics:
Laboratory Exercises: