izpis_h1_title_alt

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

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:879
Downloads:89
Metadata:XML RDF-CHPDL DC-XML DC-RDF
:
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:
Similar works from other Slovenian collections:

Back