Using Educational Tools for Teaching Object Oriented Design and Programming
Stavroula C. Georgantaki, Symeon Retalis
Abstract
Stavroula C. Georgantaki, Symeon Retalis
Abstract
The development of software systems is a complex process which requires a diverse set of skills and expertise. The Object Oriented programming paradigm has been proven to better organize the inherent complexity of software systems, than the traditional procedural paradigm. Hence, Object Oriented (OO) is becoming the dominant paradigm in the recent years. The software industry is placing increasing emphasis on newer, object-oriented programming languages and tools, such as Java. It is highly interested for software engineers capable to analyze and develop systems using the OO programming paradigm. The early exposure of students to object oriented programming has become increasingly important in both academia and industry. As an effect, after IEEE and ACM recommendations, the object oriented programming approach has established its place in the Computing Science (CS) Curricula of the Universities. Furthermore, a lot of research is being conducted with regards to the effective instructional methods for the Object Oriented design and programming. Such methods propose the utilization of educational tools for helping students overcome learning difficulties. The scope of this paper is to present some of the well known educational tools which can support the instructional process of Object Oriented design and programming. It also aims to show how one of the most widely known educational tool, called BlueJ, has been utilised and evaluated by students within an educational setting. Finally it discusses trends in the development of this tool (and other related ones) which could influence the teaching of Object Oriented design and programming.
OpenAlex reports 21 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
The development of software systems is a complex process which requires a diverse set of skills and expertise. The Object Oriented programming paradigm has been proven to better organize the inherent complexity of software systems, than the traditional procedural paradigm. Hence, Object Oriented (OO) is becoming the dominant paradigm in the recent years. The software industry is placing increasing emphasis on newer, object-oriented programming languages and tools, such as Java. It is highly interested for software engineers capable to analyze and develop systems using the OO programming paradigm. The early exposure of students to object oriented programming has become increasingly important in both academia and industry. As an effect, after IEEE and ACM recommendations, the object oriented programming approach has established its place in the Computing Science (CS) Curricula of the Universities. Furthermore, a lot of research is being conducted with regards to the effective instructional methods for the Object Oriented design and programming. Such methods propose the utilization of educational tools for helping students overcome learning difficulties. The scope of this paper is to present some of the well known educational tools which can support the instructional process of Object Oriented design and programming. It also aims to show how one of the most widely known educational tool, called BlueJ, has been utilised and evaluated by students within an educational setting. Finally it discusses trends in the development of this tool (and other related ones) which could influence the teaching of Object Oriented design and programming.
Key concepts: Computer science, Object-oriented programming, Scope (computer science), Software engineering, Curriculum, Programming language, Object (grammar), Software development