Key points are not available for this paper at this time.
This tutorial introduces a curriculum and tools supporting a design-first pedagogy for teaching object-oriented programming in a CS1 course (Moritz and Blank 2005, Moritz et al. 2005). Design-first emphasizes the big picture of software development---how to understand and solve a customer's problem, rather than just coding. The design-first approach subsumes objects-first---instead of a Hello, World program, in the first lesson students learn how to use classes, constructors and methods to create scenes out of graphical objects. They also quickly learn how to develop use cases to analyze a customer's problem, and then how to design class diagrams in Unified Modeling Language (UML). Interactive multimedia courseware helps introduce these concepts (Blank et al. 2003). Students learn how to manipulate objects using the open-source Eclipse IDE with the DrJava interactive interpreter plug-in. They design class diagrams in the LehighUML plug-in, which automatically generates skeletons of Java source code. The LehighUML plug-in also sends each step of student work to a server, where an intelligent tutoring system analyzes their work and provides hints and lessons (Blank et al. 2005 and Wei et al. 2005).
Moritz et al. (Mon,) studied this question.
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: