A Constructivism-Based Approach to Teach Object- Oriented Programming
Kleanthis Thramboulidis · 2003
We have developed a course in object-oriented programming for students already familiar with the procedural programming paradigm. To address persistent difficulties mainly imposed by the already known paradigm, we adopted the approach of constructivism, which stresses the importance of prior knowledge on top of which new knowledge is built. A real-world system was adopted, to exploit the prior knowledge that students have from every-day life. This perspective guided us in making a shift in focus from the algorithm-centered view to the software-engineering-centered view and more precisely to the design-first approach. We found that an informal use of use-cases, class diagrams, and object interaction diagrams facilitates students in exploiting their real-world experience and building on it the conceptual framework of the object-oriented paradigm. A set of assignments based on these findings was developed and used over the last 2 years. The first results of this approach are very encouraging.