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 |