Teaching Object-Oriented Programming

A Constructivism-Based Approach

Kleanthis C. Thramboulidis

Electrical and Computer Engineering, University Of Patras

Home Page

Course Outline

Tha Goody's Example

RPN Calculator Assignments

GUI programming in Java

Event Handling in Java

Exception Handling

Concurrent Programming

Publications

The Textbook

Terms of Use

 

 

 

 

Copyright 2002,2005 

Kleanthis Thramboulidis

thrambo@ece.upatras.gr

 

Introduction

The origin

The earliest ideas for the described approach stemmed from the time I was writing the book "Programming Languages II: Object-Oriented Programming" during 1997 for the Hellenic Open University. 

 

The basic paper

Part of this work is described in the paper: A Constructivism-Based Approach to Teach Object-Oriented Programming by K.Thramboulidis, Journal of Informatics Education and Research, 2003. The work has then evolved into a complete course outline for the introduction of the Object-Oriented Programming Paradigm. Related publications.

 

A brief description

The whole approach is motivated by the theoretical viewpoint of constructivism that stresses the importance of the continuity of knowledge growth, based on existing knowledge. Experience from every day life is used to anchor new knowledge in constructing software systems.

The Goodys example, a real-world system was adopted to create the conceptual framework of the OO paradigm. We utilize informal use-cases, class diagrams, and object interaction diagrams to facilitate students in exploiting their real-world experience and building on it the conceptual framework of the object-oriented paradigm. The approach is characterized as software-engineering-centered and more precisely as a design-first approach.

Java was adopted to introduce the constructs necessary for the realization of this framework. A Lego construction approach was adopted to guide students to first focus on the basics of integrating existing components and later on building new ones.

A set of assignments based on the Reverse Polish Notation Calculator was developed to guide students to implement their own GUI calculator following a well-defined step-by-step development process.

 

Using the work

The work is in progress. The most part of the material is still in Greek but a translation process is currently active. You can email me at thrambo@ece.upatras.gr. I would appreciate any feedback on the structure and content of it. A password is required for some pages to be accessed. You may contact me by e-mail to get the authentication.

 

Instructors

If you are an instructor interested in using this material in your class, please contact me via email  (thrambo@ece.upatras.gr) to let me know. It is a pleasure for me to know that this material is being used, but I appreciate feedback on who is using it, in what course, etc. For more detail, see terms of use

Last Updated: 14 June 2005