Design of an extensible dbms Implementation of Menu Class Implementation of basic functions : insertion, deletion, lookup, load, save Addition of functions : indexing sorting, searching Figure 3: The project phases for the incremental development of the DBMS. The functionality extension phase of the project provides students with insight into the opportunities and problems presented by maintenance of an application. The students were instructed to extend their primitive database to operate on various types of data records and provide additional functionality. The instructor assisted the students in identiing the portions of the software that would be altered. This phase reveals the reasons for some design decisions made ealier and provides an opportunity for class discussion about how decisions should be made. The application centered approach can be used to structure either an individual course or an entire curriculum. In either case, parallel curriculum threads are used. In one thread, the application content is se-quenced while in the second thread the set of computer science principles are matched to the application topics in the rst thread. This approach allows the course or curriculum developer to ensure that the relevant topics are covered in the computer science thread. The course instructor can be certain that the correct application topics are used to motivate the computer science principles. The \knowledge packets" approach reported in 1] is an excellent source of material for deening the threads. Our experience, so far, is limited to individual courses. Our evaluation of this technique has been largely through student and instructor feedback. Overwhelmingly positive student feedback from CS4 has encouraged us to utilize the application centered approach in other courses. We are currently using an application centered approach for CS2 instruction, where the application is a text editor , and the language vehicle is Ada 95. In our CS2 project, the students are exploring various algorithms for line breaking and other string manipulation techniques. The object-oriented design of the text editor parallels the design of a DBMS that threads the CS2 laboratory experiencee2, 3]. There are drawbacks to the application centered approach as compared with the topic centered approach. More eeort and planning may be required by the instructor. While each of the ve phases requires more eeort, the rst two activities of domain analysis and project design are particularly intensive and must be completed prior to use of the application. Textbooks do not yet support this approach …