Creating a library set for teaching the basics of object-oriented architecture

Thesis title: Navrhněte počítačovou hru pro vstupní kurzy programování
Author: Mamica, Jakub
Thesis type: Bakalářská práce
Supervisor: Pecinovský, Rudolf
Opponents: Chadim, Marek
Thesis language: Česky
Abstract:
Tato bakalářská práce se zaměřuje na vývoj knihoven v jazycích Java a Python obsahujících více verzí programu robota Karla, programu pro výuku objektově orientovaného programování. Hlavním cílem je vytvořit postupně se rozvíjející sadu knihoven robota Karla v těchto programovacích jazycích, která slouží dvěma účelům: za prvé demonstrovat principy objektově orientovaného programování (OOP) prostřednictvím stále sofistikovanějších verzí programu, a za druhé poskytnout sadu nástrojů podporujících výuku základů OOP. Teoretická část práce zkoumá koncepty OOP, jeho hlavní principy a roli návrhových vzorů při vývoji softwaru. Pozastavuje se i nad historií programu robota Karla, jeho původu a jeho současné podobě, která sloužila jako základ pro tuto práci. Praktická část zahrnuje vývoj knihoven Karla, od základní funkcionality až po pokročilé implementace, včetně nových akcí robota a typů světů. Tato práce nejen prakticky demonstruje principy OOP, ale také nabízí vzdělávací nástroj, který rozšiřuje původní koncept Karla a rozšiřuje jeho využitelnost při výuce programování a tvorbě programovacích úloh.
Keywords: Python; objektově orientované programování; robot Karel; Java
Thesis title: Creating a library set for teaching the basics of object-oriented architecture
Author: Mamica, Jakub
Thesis type: Bachelor thesis
Supervisor: Pecinovský, Rudolf
Opponents: Chadim, Marek
Thesis language: Česky
Abstract:
This bachelor's thesis focuses on the development of libraries in Java and Python featuring multiple versions of the robot Karel program, a tool for teaching object-oriented programming. The main goal is to create a progressively evolving set of robot Karel libraries in these programming languages, serving two purposes: first, to demonstrate the principles of object-oriented programming (OOP) through increasingly sophisticated versions of the program, and second, to provide a toolset supporting the teaching of OOP fundamentals. The theoretical part of the thesis explores OOP concepts, its core principles, and the role of design patterns in software development. It also examines the history of the Karel the Robot program, its origins, and its modern form, which served as the foundation for this work. The practical part involves the development of Karel's libraries, ranging from basic functionality to advanced implementations, including new robot actions and world types. This thesis not only demonstrates OOP principles in practice but also offers an educational tool that extends the original concept of Karel and broadens its applicability in teaching programming and creating programming challenges.
Keywords: object-oriented programing; Java; Python; robot 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: 30. 4. 2024
Date of submission: 9. 12. 2024
Date of defense: 27. 1. 2025
Identifier in the InSIS system: https://insis.vse.cz/zp/88336/podrobnosti

Files for download

    Last update: