Robert Cartwright William Marsh Rice University EI: Can We Teach Object-Oriented Design to Beginners? $420,000 This project involves the development of a curriculum for teaching 'truly' Object Oriented Design (OOD) at the introductory level with the support of a unique tool suite. A current educational trend is to teach OO design as early as possible. However, this trend may entail a potentially higher risk of pedagogic failure than an object-based approach because computing educators lack a proven curriculum for teaching OO design to beginners. This project explores how sophisticated OOD concepts might be simplified and distilled for beginners. The proposers set forth two reasons for presenting OOD at the introductory level. First, the growth of object-orientation has been fostered by breakthroughs in the understanding of the OO design process. Computing researchers have assembled a comprehensive catalog of OO design patterns that form the conceptual vocabulary for constructing OO programs. These design patterns are templates codifying data abstraction mechanisms that exploit polymorphism to simplify control structure, eliminate replicated code, and facilitate subsequent program extension. They provide detailed, prescriptive guidance on OO design that can be made accessible to novice programmers. Second, the investigators have successfully taught OO design at the CS2 level, supported by a pedagogic programming-environment that provides a simple, transparent interface and simplifies clerical issues involved in writing programs. This change enables instructors to focus attention on teaching program design. The outcomes of this project are expected to be a curriculum, plus supporting tools and materials, for a new introductory programming sequence (CS1/CS2) that focuses on OO program design. The curriculum will teach the principles of OO design using a series of progressively more expressive sub-languages of Java. These sub-languages are supported by a new edition of DrJava, an open-source project available on the web. An introductory programming curriculum focusing on OOD could have a dramatic impact on the preparedness of the nation's workforce in designing object-oriented systems.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Application #
0306140
Program Officer
Krishna Kant
Project Start
Project End
Budget Start
2003-08-15
Budget End
2009-07-31
Support Year
Fiscal Year
2003
Total Cost
$420,000
Indirect Cost
Name
Rice University
Department
Type
DUNS #
City
Houston
State
TX
Country
United States
Zip Code
77005