NEXT GENERATION CLASSROOM BASED ON THE IDEA OF COLLABORATIVE, DATA-ORIENTED PROGRAMMING
The article focuses on didactic needs arising from the increasing importance of systems that utilize and process data from many, diverse and distributed sources. An example is the growing interest in technologies known as Internet of Things (IoT). This article is the result of activities undertaken at two Polish universities. Their main goal was to define a new form of laboratory activity in the field of Informatics, which will prepare students for the task of developing such systems effectively. We have defined this type of activity as a collaborative, data-oriented programming classroom. These classes are intended for students of first-degree technical studies (engineering degree).
The article presents in detail the concept of two essential didactic components, which in our view are a new approach to programming education in the context of the aforementioned IT systems. These components are collaborative programming environment and data-driven programming tools. The first one allows teamwork on the project not only in the form of typical laboratory or project activities at university ground but also in any remote location and at any time. The technological basis of this solution are lightweight virtualization tools and mechanisms for orchestration of information systems based on the idea of microservices. Thanks to them, we have developed a distributed software development environment that allows students to master the basics of teamwork in professional project teams. In addition, it allows students to learn the specifics of working in different organizational schemes of IT companies. The university provides secure access to the virtual container repository and to the private computing cloud, where students can test next versions of their systems.
The second component uses the new capabilities of the aforementioned distributed classroom by emphasizing the use and innovative processing of data available from many distributed sources. In our view, this is in response to the new demands made by the development of IT technology. Nowadays, apps and services are becoming more and more accessible through digital channels. Developers are the key elements of personalization, context definition, and finally building systems that respond not just behavior of end-users but also the world around them. In the case of the proposed solution, the concept of data-oriented programming means incorporating in the distributed system classroom data sources that are cheap and generally available (smartphone sensors, system-on-chip devices, etc.). The developed toolset allows students to select, process and visualize data in a single, collaborative development environment that they can use regardless of location. In the second part of the article, the main assumptions of the tools developed for the data-oriented component are presented in detail and also their key elements and principles of use in the teaching process.
In our opinion, the presented next generation classroom solution enables students to develop new skills by providing them a rich, programming platform and allowing them to explore new IT business models with new ways of exchanging ideas and their implementation. All of the proposals contained in the article base on the analysis of the test system developed in the Computer Science Institute, the Lublin University of Technology, Poland in cooperation with the Institute of Applied Computer Science, the Lodz University of Technology, Poland.