izpis_h1_title_alt

Analiza kode in odkrivanje tipičnih napak pri učenju programiranja
ID Rozman, Anže (Avtor), ID Žabkar, Jure (Mentor) Več o mentorju... Povezava se odpre v novem oknu

URLURL - Predstavitvena datoteka, za dostop obiščite http://pefprints.pef.uni-lj.si/6057/ Povezava se odpre v novem oknu

Izvleček
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.

Jezik:Slovenski jezik
Ključne besede:učenje programiranja
Vrsta gradiva:Magistrsko delo/naloga
Tipologija:2.09 - Magistrsko delo
Organizacija:PEF - Pedagoška fakulteta
Leto izida:2019
PID:20.500.12556/RUL-111972 Povezava se odpre v novem oknu
COBISS.SI-ID:12642889 Povezava se odpre v novem oknu
Datum objave v RUL:21.10.2019
Število ogledov:1138
Število prenosov:204
Metapodatki:XML DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Code analysis and the identification of typical mistakes in learning programming
Izvleček:
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.

Ključne besede:learning programming

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj