Development of a Library Set for Teaching the Fundamentals of Object-Oriented Architecture

Thesis title: Vytvoření sady knihoven pro výuku základů objektové arhitektury
Author: Bachna, Bohuslav
Thesis type: Bakalářská práce
Supervisor: Pecinovský, Rudolf
Opponents: Chadim, Marek
Thesis language: Česky
Abstract:
Bakalářská práce se zaměřuje na vývoj sady knihoven pro výuku základů objektové architektury pomocí programovacího robota Karel. Cílem práce je vytvořit nástroje, které umožní studentům efektivně pochopit principy objektově orientovaného programování, jako je dědičnost, polymorfismus a návrhové vzory. Knihovny jsou implementovány v jazycích Java a Python, což umožňuje jejich široké uplatnění ve vzdělávacích programech. V práci byly aplikovány moderní principy softwarové architektury, jako jsou SOLID pravidla a návrh rozhraní, čímž se zdůrazňuje udržitelnost a rozšiřitelnost kódu. Výsledkem je modulární řešení, které zahrnuje několik verzí knihoven, z nichž každá představuje nové funkce a koncepty – od základní implementace až po pokročilé funkce, jako je více světů a podpora šesti- a osmi-směrných pohybů. Projekt přináší přínos nejen v oblasti výuky programování, ale i ve vývoji softwarových nástrojů pro pedagogické účely. Knihovny byly testovány v simulovaném prostředí.
Keywords: Java; Python; robot Karel; softwarová architektura; objektově orientované programování; výuka programování
Thesis title: Development of a Library Set for Teaching the Fundamentals of Object-Oriented Architecture
Author: Bachna, Bohuslav
Thesis type: Bachelor thesis
Supervisor: Pecinovský, Rudolf
Opponents: Chadim, Marek
Thesis language: Česky
Abstract:
The bachelor's thesis focuses on the development of a library set for teaching the fundamentals of object-oriented architecture using the programming robot Karel. The aim of the thesis is to create tools that enable students to effectively understand the principles of object-oriented programming, such as inheritance, polymorphism, and design patterns. The libraries are implemented in both Java and Python, allowing for broad applicability in educational programs. The work applies modern software architecture principles, such as the SOLID rules and interface design, emphasizing code sustainability and extensibility. The result is a modular solution comprising several library versions, each introducing new features and concepts – from a basic implementation to advanced functionalities such as multi-world support and six- and eight-directional movements. The project contributes not only to programming education but also to the development of software tools for pedagogical purposes. The libraries were tested in a simulated environment to verify their functionality.
Keywords: Object oriented programming; Software architecture; Programmin education; Python; Karel The Robot; Java

Information about study

Study programme: Aplikovaná informatika
Type of study programme: Bakalářský studijní program
Assigned degree: Bc.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 23. 2. 2024
Date of submission: 9. 12. 2024
Date of defense: 2024

Files for download

The files will be available after the defense of the thesis.

    Last update: