izpis_h1_title_alt

Generiranje namigov v sistemih za poučevanje programiranja
ID LAZAR, TIMOTEJ (Avtor), ID Bratko, Ivan (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (2,88 MB)
MD5: 427736376A9B6DE0BF384CF76EE41698

Izvleček
Programiranje je uporabna in zmeraj pomembnejša veščina. V zadnjem desetletju so se pojavili mnogi spletni tečaji programiranja, za katere je izkazalo interes mnogo uporabnikov. Na takih tečajih je običajno preveč udeležencev, da bi učitelj delal z vsakim posameznikom. Prav neposredne povratne informacije pa lahko zelo olajšajo učenje. Področje inteligentnih sistemov za poučevanje oziroma tutorjev se ukvarja s problemom samodejnega podajanja povratnih informacij. Ti sistemi so tradicionalno temeljili na domenskem modelu, ki ga učitelj definira vnaprej. Izdelava takega modela je težavna naloga, sploh v kompleksnih domenah, kot je programiranje. Potencialna rešitev tega problema je uporaba podatkovno vodenih modelov, ki jih tutor samodejno zgradi tako, da opazuje, kako so učenci reševali naloge v preteklosti. Ko nov učenec naleti na podobno težavo, ga lahko sistem z namigi usmeri na pravo pot. Pri poučevanju programiranja je tak pristop precej zahteven, saj akcij pri pisanju programa ni lahko interpretirati. Disertacija predstavlja dva nova pristopa k podatkovno vodenemu modeliranju programerskih domen. Prvi pristop modelira pisanje programa z zaporedjem popravkov kode in se uči prepisovalnih pravil za spreminjanje programov. S temi pravili lahko tutor samodejno odpravi napake v novih nepravilnih programih. Drugi pristop uporablja sintaktične vzorce v abstraktnih sintaktičnih drevesih, na podlagi katerih se uči pravil za ločevanje med pravilnimi in nepravilnimi programi. Oba modela lahko uporabimo za samodejno odkrivanje tipičnih napak v programih in generiranje namigov. Razvili smo spletno aplikacijo za učenje programiranja, v kateri smo preizkusili oba pristopa. Rezultati kažejo, da lahko na podlagi obeh modelov generiramo namige, ki učencem pomagajo pri reševanju programerskih nalog.

Jezik:Angleški jezik
Ključne besede:inteligentni sistemi za poučevanje, programiranje, odkrivanje napak
Vrsta gradiva:Doktorsko delo/naloga
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2018
PID:20.500.12556/RUL-100507 Povezava se odpre v novem oknu
COBISS.SI-ID:1537749699 Povezava se odpre v novem oknu
Datum objave v RUL:23.03.2018
Število ogledov:1034
Število prenosov:399
Metapodatki:XML RDF-CHPDL DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Slovenski jezik
Naslov:Hint generation in programming tutors
Izvleček:
Programming is increasingly recognized as a useful and important skill. Online programming courses that have appeared in the past decade have proven extremely popular with a wide audience. Learning in such courses is however not as effective as working directly with a teacher, who can provide students with immediate relevant feedback. The field of intelligent tutoring systems seeks to provide such feedback automatically. Traditionally, tutors have depended on a domain model defined by the teacher in advance. Creating such a model is a difficult task that requires a lot of knowledgeengineering effort, especially in complex domains such as programming. A potential solution to this problem is to use data-driven methods. The idea is to build the domain model by observing how students have solved an exercise in the past. New students can then be given feedback that directs them along successful solution paths. Implementing this approach is particularly challenging for programming domains, since the only directly observable student actions are not easily interpretable. We present two novel approaches to creating a domain model for programming exercises in a data-driven fashion. The first approach models programming as a sequence of textual rewrites, and learns rewrite rules for transforming programs. With these rules new student-submitted programs can be automatically debugged. The second approach uses structural patterns in programs’ abstract syntax trees to learn rules for classifying submissions as correct or incorrect. These rules can be used to find erroneous parts of an incorrect program. Both models support automatic hint generation. We have implemented an online application for learning programming and used it to evaluate both approaches. Results indicate that hints generated using either approach have a positive effect on student performance.

Ključne besede:intelligent tutoring systems, programming, error discovery

Podobna dela

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

Nazaj