Ed Epp, statement, CS2 workshop

Object-Oriented Curricula
The Future of CS2

Ed C. Epp
Department of Mathematics and Computer Science
University of Portland
epp@up.edu

 

I will begin with a statement Owen made about the role of design in CS1 ( position paper of the 1996 OOPSLA workshop on design in CS1.) "Students must learn those parts of a language that are prerequisites to object design. In particular students should understand and see advantages of encapsulation, class hierarchies, and design patterns."

 

I view this first course as a prelude to patterns. The first course provides students with key software development concepts, elementary patterns, and programming language structures. Although patterns and design issues prevail throughout the first course, programming language issues tend to dominate.

 

In the first course patterns are small. They are dominated by small algorithmic patterns such as counter loops, loop-and-a-half, alternative, finding extremes, and searching patterns. The first course may also include simple object patterns such as composite, model-view-controller, and strategy patterns. However, these object patterns have not been firmly planted.

 

A traditional approach in the second course is to focus on algorithmic patterns. They may include the traditional sorting, tree manipulation, and hashing patterns.

 

I favor an alternative approach - teaching top-down. We should focus on software architecture and design patterns. I see the second course expanding on the object patterns which were briefly visited in the first course. We can learn new patterns and spend more time evaluating them to use a particular object design pattern. We can compare alternative approaches.

 

Students should study and modify well designed "software cadavers." These software cadavers should illustrate key object patterns. In the process of enhancing and modifying these cadavers, students should learn the strengths and limitations of the patterns that comprise them.

 

I feel that some of the traditional data structures material should be weaved in. It simply no longer dominates.



Owen L. Astrachan
Last modified: Wed Sep 2 12:29:44 EDT 1998