A constructivist approach to object-oriented design and programming

Computer science education is greatly affected by the object-oriented approach. This can be seen in the numerous new teachers being attracted to programming languages such as Java. Learning the object-oriented approach is however difficult for novice students, mostly because it requires a new way of thinking about computing and more depth to grasp. Thus, to promote the object-oriented approach at the introductory level, a re-examination of the teaching method is recommended. This article describes a pedagogical framework rooted in the constructivist epistemology for teaching object-oriented design and programming.

[1]  Mordechai Ben-Ari,et al.  Constructivism in computer science education , 1998, SIGCSE '98.

[2]  Mikel L. Forcada,et al.  Learning Compiler Design as a Research Activity , 1996, Comput. Sci. Educ..

[3]  C. Floyd,et al.  Software Development and Reality Construction , 1992, Springer Berlin Heidelberg.

[4]  Said Hadjerrouit Java as first programming language: a critical evaluation , 1998, SGCS.

[5]  Daniel J. Berg,et al.  Advanced techniques for Java developers (rev. ed.) , 1999 .

[6]  Mitchel Resnick,et al.  Constructionism in Practice: Designing, Thinking, and Learning in A Digital World , 1996 .

[7]  Said Hadjerrouit,et al.  A constructivist framework for integrating the Java paradigm into the undergraduate curriculum , 1998, ITiCSE '98.

[8]  Raj Tewari,et al.  A Framework for Incorporating Object-Oriented Software Engineering in the Undergraduate Curriculum , 1993, Comput. Sci. Educ..

[9]  Anne Sjerp Troelstra,et al.  From Constructivism to Computer Science , 1999, Theor. Comput. Sci..

[10]  Mark Lattanzi,et al.  Teaching the Object-Oriented Paradigm and Software Reuse: Notes from an Empirical Study , 1996, Comput. Sci. Educ..

[11]  Richard L. Upchurch,et al.  Teaching Object-Oriented Design Without Programming: A Progress Report , 1993, Comput. Sci. Educ..

[12]  J. Wertsch,et al.  CONSTRUCTIVISM IN EDUCATION , 2019 .

[13]  Gary D. Phye,et al.  Handbook of Academic Learning: Construction of Knowledge , 1997 .

[14]  Daniel J. Berg,et al.  Advanced techniques for Java developers , 1998 .