Creating a set of libraries to teach the basics of object-oriented architecture

Thesis title: Vytvoření sady knihoven pro výuku základů objektové architektury
Author: Kováč, Filip
Thesis type: Bakalářská práce
Supervisor: Pecinovský, Rudolf
Opponents: Suchan, Vladimír
Thesis language: Česky
Abstract:
Tato bakalářská práce se věnuje návrhu a implementaci edukativní aplikace Robot Karel, určené pro výuku základů algoritmizace a programování. Uživatelé mohou prostřednictvím jednoduchého programovacího jazyka ovládat virtuálního robota, jenž plní úkoly ve vizuálně zobrazeném světě. Projekt je inspirován původním konceptem Karla robota od Richarda E. Pattise, přičemž je rozšířen o moderní architektonické principy a různé způsoby vizualizace. Knihovna je vyvíjena v jazyce C# s využitím WPF. Důraz je kladen na oddělení logiky od grafického rozhraní a využití návrhových vzorů, jako jsou rozhraní, posluchače událostí a most. Tato architektura umožňuje snadné přidávání nových typů světů bez zásahů do stávající logiky. Vedle hlavní implementace vznikla i základní knihovna v JavaScriptu. Knihovna obsahuje pouze omezenou funkcionalitu a podporuje jednoduché příkazy pro pohyb robota. Přesto zachovává obdobnou strukturu a principy objektového návrhu. Výsledná knihovna slouží jako výukový nástroj i jako ukázka kvalitního softwarového návrhu. Práce poukazuje na důležitost čisté architektury i u vzdělávacích aplikací.
Keywords: C#; objekové programování; JavaScript; robot; program; Karel
Thesis title: Creating a set of libraries to teach the basics of object-oriented architecture
Author: Kováč, Filip
Thesis type: Bachelor thesis
Supervisor: Pecinovský, Rudolf
Opponents: Suchan, Vladimír
Thesis language: Česky
Abstract:
This bachelor’s thesis focuses on the design and implementation of the educational application Robot Karel, intended for teaching the basics of algorithmization and programming. Users can control a virtual robot using a simple programming language, with the robot performs tasks in a visually represented environment. The project is inspired by the original concept of Karel the Robot by Richard E. Pattis and extends it with modern architectural principles and various visualization methods. The library is developed in the C# programming language using WPF. Emphasis is placed on separating logic from the graphical interface and applying design patterns such as interfaces, event listeners, and the bridge pattern. This architecture enables easy addition of new world types without modifying the existing logic. Alongside the main implementation, a basic JavaScript version of the library was created. This version provides only limited functionality and supports simple commands for robot movement. Nevertheless, it maintains a similar structure and applies principles of objectoriented design. The resulting library serves both as an educational tool and as an example of well-structured software design. The thesis highlights the importance of clean architecture even in educational applications.
Keywords: Object oriented programming language; C#; program; robot; JavaScript; Karel

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: 31. 1. 2025
Date of submission: 11. 5. 2025
Date of defense: 16. 6. 2025
Identifier in the InSIS system: https://insis.vse.cz/zp/91221/podrobnosti

Files for download

    Last update: