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... This link opens in a new window

URLURL - Presentation file, Visit http://pefprints.pef.uni-lj.si/6057/ This link opens in a new window
.pdfPDF - Presentation file, Download (1,22 MB)
MD5: 92EA690223593147E6593124D416E89B

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 This link opens in a new window
COBISS.SI-ID:12642889 This link opens in a new window
Publication date in RUL:21.10.2019
Views:1278
Downloads:213
Metadata:XML DC-XML DC-RDF
:
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:Bookmark and 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:
  1. Websites for self-regulated learning
  2. Controlling tilting maze with Arduino
  3. Introduction to computer arhitecture with Raspberry Pi
  4. Teaching encryption in primary school
  5. Project of creating adventure games: learning programming via interdisciplinary collaboration
Similar works from other Slovenian collections:
  1. ǂThe ǂuse of a robot to learn programming
  2. Trading cryptocurrencies with reinforcement learning
  3. Reinforcement learning for traffic light control optimization

Back