BLUEJ IDE AND ARCHITECTURE FIRST METHODOLOGY
University of Economics, Prague (CZECH REPUBLIC)
About this paper:
Conference name: 11th International Technology, Education and Development Conference
Dates: 6-8 March, 2017
Location: Valencia, Spain
Abstract:
One of the biggest problems of students in the introductory courses of programming is mastering the syntax of the programming language in use. Various works solved this problem by different ways. Special programming languages appeared that have to relieve students from these problems (Alice, Baltie, Scratch …) or, at least to diminish it (Stride).
The basic disadvantage of these efforts is the fact that they focus to the algorithm coding. However, the increasing capabilities of the development tools and the growing penetration of the declarative programming indicate that this activity will be soon undertaken by the computer and it will be classified as low-level, similarly as the program writing in the machine code.
The Architecture First methodology [1] tries to respect these trends and outlines the programming education in the introductory courses in a different way. From the very beginning it works with students at the architecture level. It teaches designing the program architecture in the way so that the code generator integrated in the used IDE could overtake the coding of the designed program.
At present, the BlueJ development environment is used in our introductory programming courses. However, the code generator integrated in the original BlueJ has a number of limitations and therefore we cannot rely on it more than in two or three starting lessons. Thanks to the open-source of BlueJ we can start to improve the incorporated code generator and thus also the abilities of the interactive mode.
The article explains which modifications have been realized in the first phase and how the modified code generator can be now used in introductory courses during explanation of the basic architecture constructions and of design patterns. It demonstrates how new classes and interfaces can be defined in the interactive mode, how their methods can be created, and how the program designed by students and subsequently created by the code generator can be verified that it works as requested.
Afterwards, it shows how to use interfaces for eliminating the mutual dependencies of certain parts of the code, how we can gradually introduce the design patterns and show the possibilities of their usage in existing students’ programs. All the explanation is still in the interactive mode without the necessity to write any source code – which is created by the integrated code generator.
The basic advantage of this approach is the fact that the students themselves learn designing programs at the architecture level and not at the source code level, as they do it in the classic courses demonstrating the explained matter directly at the source code.
References:
[1] PECINOVSKÝ R., PAVLÍČKOVÁ J.: The Architecture First Methodology and its Using. Proceedings of EDULEARN16 Conference. 2016 BarcelonaKeywords:
Architecture First, teaching methodology, teaching programming, OOP.