Object orientation in CS1-CS2 by design

Carl Alphonce, Phil Ventura
2002 Proceedings of the 7th annual conference on Innovation and technology in computer science education - ITiCSE'02  
This paper argues for a design driven approach to an objectoriented CS1-CS2 sequence in which object-orientation is thematic. Our approach integrates several components: (i) a strong object-oriented approach, (ii) design using UML, (iii) design patterns to manage complexity, and (iv) complex examples and projects to motivate the use of object-orientation and to motivate students by solving non-trivial problems. While this is a "programming-first" approach to CS1-CS2, it addresses several
more » ... ntages of programming-first approaches noted in CC2001 [7] . The approach focuses on design rather than syntax, so students do not lose sight of the forest for the trees. We use (relatively speaking) large and complex examples, especially in the CS2 course, which allows us to address in a meaningful way issues of programming in the large. Because the approach is design driven and heavily object oriented, the course is not biased against novices in favor of students with prior programming experience, since CS1 students with prior programming experience typically have no design experience and only procedural programming experience.
doi:10.1145/544414.544437 dblp:conf/iticse/AlphonceV02 fatcat:25ivq5cypzc2tdctrlx6fdu4zy