Vytvoření sady knihoven pro výuku základů objektové arhitektury
Autor(ka) práce:
Bachna, Bohuslav
Typ práce:
Bakalářská práce
Vedoucí práce:
Pecinovský, Rudolf
Oponenti práce:
Chadim, Marek
Jazyk práce:
Česky
Abstrakt:
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í.
Development of a Library Set for Teaching the Fundamentals of Object-Oriented Architecture
Autor(ka) práce:
Bachna, Bohuslav
Typ práce:
Bachelor thesis
Vedoucí práce:
Pecinovský, Rudolf
Oponenti práce:
Chadim, Marek
Jazyk práce:
Česky
Abstrakt:
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.
Klíčová slova:
Object oriented programming; Software architecture; Programmin education; Python; Karel The Robot; Java