Your browser does not allow JavaScript!
JavaScript is necessary for the proper functioning of this website. Please enable JavaScript or use a modern browser.
Repository of the University of Ljubljana
Open Science Slovenia
Open Science
DiKUL
slv
|
eng
Search
Browse
New in RUL
About RUL
In numbers
Help
Sign in
Details
Analiza kode in odkrivanje tipičnih napak pri učenju programiranja
ID
Rozman, Anže
(
Author
),
ID
Žabkar, Jure
(
Mentor
)
More about this mentor...
URL - Presentation file, Visit
http://pefprints.pef.uni-lj.si/6057/
PDF - Presentation file,
Download
(1,22 MB)
MD5: 92EA690223593147E6593124D416E89B
Image galllery
Abstract
Učenje programiranja je za učence lahko zahtevno zaradi razvijanja specifičnega algoritmičnega načina razmišljanja. Učitelji pri reševanju nalog po navadi pomagajo s sprotnimi namigi, pri čemer je smiselno stremeti k temu, da namigi učence uspešno usmerijo in ne razkrijejo končne rešitve. Nesmiselno bi bilo učencem prezgodaj predstaviti pravilen program, saj pri tem ne bi dosegli željenega učnega učinka. Problem poučevanja postane še večji, ko učitelji poučujejo programiranje v večji skupini učencev in sprotno nudenje pomoči že predstavlja velik časovni zalogaj. Bloomov 2-sigma problem predpostavlja, da je individualno poučevanje, kjer učitelj nudi pomoč le enemu učencu, najučinkovitejša oblika poučevanja, zato je dobro razmišljati v smeri, da se pri načrtovanju pouka ta pristop upošteva. Inteligentni tutorski sistem (ITS), ki izhaja s področja avtomatskega poučevanja (angl. automated tutorial), omogoča učenje v programskem okolju, ki nudi pomoč namesto učitelja, pri tem pa ohranja nekatere prvine individualnega poučevanja kot so npr. sprotni namigi in takojšnja povratna informacija. V magistrskem delu sem se osredotočil na avtomatsko poučevanje v sistemu CodeQ, ki se uporablja pri poučevanju programiranja v programskih jezikih Python in Prolog na Fakulteti za računalništvo in informatiko in Fakulteti za kemijo in kemijsko tehnologijo Univerze v Ljubljani. Na zbirki oddanih programov študentov sem analiziral, katere so tipične (semantične) napake pri izbranih nalogah. Programi so preoblikovani v abstraktna sintaktična drevesa (ASD), iz katerih so bili nato ustvarjeni atributi za izdelavo odločitvenih dreves. Z odločitvenimi drevesi je možno ugotoviti razloge za napačno delovanje programov in tudi pogoste oz. tipične napake. Zbirka tipičnih napak lahko pripomore k izgradnji knjižnice z napakami ter izdelavi namigov v ITS, ki se prikazujejo pri reševanju nalog.
Language:
Slovenian
Keywords:
učenje programiranja
Work type:
Master's thesis/paper
Typology:
2.09 - Master's Thesis
Organization:
PEF - Faculty of Education
Year:
2019
PID:
20.500.12556/RUL-111972
COBISS.SI-ID:
12642889
Publication date in RUL:
21.10.2019
Views:
1278
Downloads:
213
Metadata:
Cite this work
Plain text
BibTeX
EndNote XML
EndNote/Refer
RIS
ABNT
ACM Ref
AMA
APA
Chicago 17th Author-Date
Harvard
IEEE
ISO 690
MLA
Vancouver
:
ROZMAN, Anže, 2019,
Analiza kode in odkrivanje tipičnih napak pri učenju programiranja
[online]. Master’s thesis. [Accessed 19 May 2025]. Retrieved from: https://repozitorij.uni-lj.si/IzpisGradiva.php?lang=eng&id=111972
Copy citation
Share:
Secondary language
Language:
English
Title:
Code analysis and the identification of typical mistakes in learning programming
Abstract:
Learning programming can prove to be a challenging task for students, as it demands some algorithmic thinking. Teachers usually assist their students by providing accompanying hints, which should successfully guide the students without revealing the final solution. It would be pointless to present the correct solution to the students prematurely, since they would not achieve the desired learning effect. Larger groups of students present an even bigger teaching challenge as assisting individual students takes a substantial amount of time. Bloom's 2-sigma problem assumes that individual teaching, where the teacher provides assistance to only one student at a time, is the most effective form of teaching and should therefore be taken into consideration while planning a lesson. Intelligent tutoring system (ITS) based on the automated tutorial, enables learning in a program environment that substitutes teacher support while retaining some of the elements of individual teaching, such as hints and instant feedback. In my master's thesis, I have focused on automated tutorial in the CodeQ system, which is used in teaching programming using Python and Prolog programming languages at both the Faculty of Computer and Information Science and the Faculty of Chemistry and Chemical Technology, University of Ljubljana. I analysed the typical (semantic) mistakes in the selected assignments in the collection of submitted student programs. These programs were transformed into abstract syntax trees (AST), from which I created the attributes to form decision trees. Decision trees can be used for identifying the reasons for the incorrect functioning of the programs, as well as the frequent or typical mistakes. A collection of typical mistakes can help build a bug library and produce ITS tips to help at solving problems.
Keywords:
learning programming
Similar documents
Similar works from RUL:
Websites for self-regulated learning
Controlling tilting maze with Arduino
Introduction to computer arhitecture with Raspberry Pi
Teaching encryption in primary school
Project of creating adventure games: learning programming via interdisciplinary collaboration
Similar works from other Slovenian collections:
ǂThe ǂuse of a robot to learn programming
Trading cryptocurrencies with reinforcement learning
Reinforcement learning for traffic light control optimization
Back