Master's Thesis

Intelligent Environment for Extending Python Programming Knowledge via Self-learning

Final Thesis 5.26 MB Appendix 1.06 MB

Author of thesis: Ing. Jan Krejčí

Acad. year: 2023/2024

Supervisor: doc. RNDr. Pavel Smrž, Ph.D.

Reviewer: Ing. Svetozár Nosko, Ph.D.

Abstract:

This thesis aims to create an intelligent environment for extending the knowledge of Python programming through self-study. A key element of this work is the implementation of feedback mechanisms. For this purpose, the capabilities and limitations of large language models have been analyzed. The developed system uses classification models to provide personalized feedback based on the analysis of student projects. The system has been deployed and tested in the Scripting Languages course at FIT BUT and received positive feedback from students. The outcome  presents a comprehensive and functional system that has fulfilled its original intention and contributed to a more effective and interactive Python programming education process.

Keywords:

Python tutor, intelligent tutoring system, providing code feedback, code analysis, language model, classification model, Python language, Docker

Date of defence

19.06.2024

Result of the defence

Defended (thesis was successfully defended)

znamkaBznamka

Grading

B

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B.

Topics for thesis defence

  1. Jak probíhala příprava datasetu? Jaká je jeho velikost?
  2. Je možné použít prostředí i pro jiný programovací jazyk? Jaký by byl postup adaptace?
  3. Mohl by jste zmínit nějaké příklady doporučení, které program vrací?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Software Engineering (NSEN)

Composition of Committee

doc. Ing. Ondřej Ryšavý, Ph.D. (předseda)
doc. RNDr. Jitka Kreslíková, CSc. (člen)
doc. Ing. Vladimír Janoušek, Ph.D. (člen)
Ing. Vladimír Bartík, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)

Supervisor’s report
doc. RNDr. Pavel Smrž, Ph.D.

Celkově hodnotím aktivitu studenta v obou semestrech stupněm C - dobře. Zvýšeným úsilím v druhém semestru se mu podařilo dohnat počáteční skluz, rozjet systém pro poskytování zpětné vazby, zainteresovat studenty předmětu ISJ a vyhodnotit výsledky. S výsledkem práce jsem spokojen.

Evaluation criteria Verbal classification
Informace k zadání

Zadání vyžadovalo prostudování existujících metod pro poskytování zpětné vazby ke studentským kódům, se zaměřením na programovací jazyk Python,  napojení systému na stávající projekty, zadávané v rámci bakalářského předmětu ISJ - Skriptovací jazyky - a vyhodnocení úspěšnosti systému na dostupných datech. Přes pomalejší rozjezd se studentovi podařilo vytvořit očekávané řešení a ověřit jeho funkcionalitu v rámci pozdějších projektů předmětu. S výsledkem jsem spokojen, škoda jen, že se jej nepodařilo plně nasadit a nahradit současný zastarávající systém pro kontrolu odevzdávaných kódů.

Aktivita při dokončování

Práce byla dokončena s určitým předstihem, neměl jsem však možnost konzultovat definitivní podobu technické zprávy.

Publikační činnost, ocenění

-

Práce s literaturou

Student byl při získávání a využívání studijních materiálů k řešení diplomové práce aktivní, zaměřil se ale spíše na uživatelský pohled na moderní neuronové modely, umožňující generování zpětné vazby.

Aktivita během řešení, konzultace, komunikace

Aktivita v prvním semestru byla slabší, postupně se však zvyšovala a v posledních měsících před odevzdáním student věnoval práci značné úsilí, konzultoval častěji svůj postup a pravidelně informoval o nově přidané funkcionalitě svého systému.

Points proposed by supervisor: 78

Grade proposed by supervisor: C

Reviewer’s report
Ing. Svetozár Nosko, Ph.D.

Navrhuji celkové hodnocení 85 bodů - B. Jedná se o nadprůměrnou práci, ze které vznikl úspěšný nástroj pro studenty, kde získají zpětnou vazbu k jejich programovému řešení.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Všechny body zadání byly splněny.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Rozsah práce je v typickém rozmezí pro DP.

Prezentační úroveň technické zprávy

Práce je napsána pěknou češtinou. Prezentační úroveň bez výhrad. Oceňuji vyhodnocení vytvořeného nástroje formou dotazníkového průzkumu.

Práce má logickou strukturu a jednotlivé kapitoly tvoří logické celky, které na sebe vhodně navazují.

Drobnou výhradu mám ke kapitole dotrénování modelů, dle mého názoru by mohla být trochu detailnější, protože jde o klíčovou část práce.

80
Formální úprava technické zprávy

Po formální stránce je práce v pořádku - nemám výhrady.

85
Práce s literaturou

Autor použil 30 pramenů. Zdroje jsou relevantní k dané tematice a vhodně pokrývají danou problematiku výukových systémů, zpracování přirozeného jazyka a velkých jazykových modelů. Převzaté prvky jsou vhodně citovány a odlišeny od studentových myšlenek. Bibliografické citace jsou v souladu s citačními zvyklostmi a normami. Student čerpal z vhodných a hodnotných pramenů.

85
Realizační výstup

Realizační výstup je funkční a aktuálně využíván v předmětu IVS.

Implementační část je funkční a kompletní. Odevzdané soubory jsou vhodně komentované a srozumitelné.

Všechny části práce jsou v souladu s licenčními podmínkami a autorským právem.

90
Využitelnost výsledků

Jedná se o práci kompilačního charakteru. Student uvádí: "Systém byl nasazen během výuky v kurzu Skriptovací jazyky na FIT VUT v Brně, kde si získal pozitivní ohlasy od studentů", což hodnotím velmi pozitivně.

Nástroj byl vyhodnocen dotazníkovým průzkumem, ze kterého vyplývá pozitivní zpětná vazba.

Náročnost zadání

Evaluation level: průměrně obtížné zadání

Jde o volné zadání. Student se více zaměřil na vytvoření kompletního řešení včetně reálného systému, který je nasazen v rámci předmětu ISJ. Z tohoto důvodu hodnotím zadání jako průměrně obtížné.

Topics for thesis defence:
  1. Jak probíhala příprava datasetu? Jaká je jeho velikost?
  2. Je možné použít prostředí i pro jiný programovací jazyk? Jaký by byl postup adaptace?
Points proposed by reviewer: 85

Grade proposed by reviewer: B

Responsibility: Mgr. et Mgr. Hana Odstrčilová