Fall 2005| Volume 7, Number 2


Teaching Advanced Computing Concepts in Java: A Constructivism Approach
                    Kleanthis Thramboulidis

ABSTRACT

The belief that concurrent programming concepts are too difficult for the average programmer is one of the most important reasons for not covering concurrent programming in introductory computing courses, although much needed last years. In this paper, an approach, used to teach advanced computing concepts and especially concurrency and exception handling in introductory computing courses, is presented. The proposed approach, which is greatly influenced by constructivism, exploits the novice programmer’s existing knowledge from real-life. Multi-entity systems from every-day life are adopted and techniques used to solve real-life problems are examined and exploited in order to build the required conceptual framework on existing knowledge. The mechanisms of Java that implement these techniques are introduced and used extensively. Students found the course extremely challenging while the pass-fail ratio improved considerably.

Keywords: teaching concurrent programming, teaching Java, constructivism-based approach, OO conceptual framework, algorithm of Dekker


ABOUT THE AUTHORS

Kleanthis Thramboulidis is a research and teaching staff associate professor in software engineering in the Department of Electrical & Computer Engineering at University of Patras, Greece, where he is leading the Software Engineering Group. He has authored seven books on programming and modeling (in Greek) and proposed a constructivism based approach to teach object oriented programming. He has extensive engineering experience working as an analyst and design engineer in many different application domains applying object technology with great success. He is the designer of REDOM, an OO Language to define and on-line manipulate regulations in the resource (re)scheduling problem used in the airline domain, and CORFU, a framework for the unified development of distributed control systems. He has proposed Model Integrated Mechatronics (MIM), a new paradigm for the model driven development of Mechatronic Manufacturing systems. His research areas cover object technology, model driven development, meta-modeling, distributed control and automation systems, embedded systems, CASE tools, component based development, Mechatronics.


Return to the Table of Contents