Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

Seotud dokumendid
TARTU ÜLIKOOL Arvutiteaduse instituut Informaatika õppekava Age Roosi Thonny logifailide analüüsi automatiseerimine Bakalaureusetöö (9 EAP) Juhendajad

MTAT Operatsioonisüsteemid - Turvalisus

PowerPointi esitlus

MTAT Operatsioonisüsteemid - Turvalisus

lvk04lah.dvi

Programmi AnimatorDV Simple+ lühike kasutajajuhend

P9_10 estonian.cdr

Microsoft Word - requirements.doc

Loeng03

1 / loeng Tekstitöötlus Sisend/väljund Teksti lugemine Sõnad

B120_10 estonian.cdr

1. AKE Ajalise keerukuse empiiriline hindamine

MOOCi „Programmeerimise alused“ ülesannete lahenduste analüüs

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

P2P süsteemid

MS Word Sisukord Uue dokumendi loomine... 2 Dokumendi salvestamine... 3 Faili nimi... 4 Teksti sisestamine... 6 Klaviatuuril mitteleiduvat sümbolite l

E-arvete juhend

Sügis 2018 Kõrgema matemaatika 2. kontrolltöö tagasiside Üle 20 punkti kogus tervelt viis üliõpilast: Robert Johannes Sarap, Enely Ernits, August Luur

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

KASUTUSJUHEND

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

1. Üliõpilased 1.1 Tõendid Vali menüüst: Üliõpilased tõendid tõendite trükkimine. Avaneb vorm Tõendite trükkimine, vali tõendi liik Tõend õppim

Automaatjuhtimise alused Automaatjuhtimissüsteemi kirjeldamine Loeng 2

Kom igang med Scratch

Praks 1

Hoia oma arvuti turvaline ja kiire 1.Leia start nupust alustades Juhtpaneel 2.Juhtpaneeli aadressiribalt leia Kõik juhtpaneeli üksused 3.Avanenud tööa

loogikaYL_netis_2018_NAIDISED.indd

Võistlusülesanne Vastutuulelaev Finaal

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

FRESENIUS ÕPPEKESKUS KIIRJUHEND

Andmed arvuti mälus Bitid ja baidid

Microsoft Word - EHR.docx

PowerPoint Presentation

Operatsioonisüsteemide ehitus

sojateadlane_4.indd

Tartu Ülikool

Word Pro - digiTUNDkaug.lwp

Sissejuhatus mehhatroonikasse MHK0120

FIDE reitingumäärus 1. juuli 2014 Kuremaa, Marek Kolk

Microsoft Word - TM70_SP-MG_kasutusjuhend.docx

SPORTident Air+

VL1_praks6_2010k

HWU_AccountingAdvanced_October2006_EST

Mida me teame? Margus Niitsoo

G TECTA 4G mitme gaasi detektor EE Lühijuhend

Kaupmehed ja ehitusmeistrid Selle laiendusega mängimiseks on vajalik Carcassonne põhimäng. Laiendit võib mängus kasutada täielikult või osaliselt ning

6 tsooniga keskus WFHC MASTER RF 868MHz & 4 või 6 tsooniga alaseade SLAVE RF KASUTUSJUHEND 6 tsooniga WFHC RF keskus & 4 või 6 tsooniga alaseade SLAVE

ДЕЛОВОЕ ОБЩЕНИЕ

Lisa I_Müra modelleerimine

PAIGALDUSJUHEND DUŠINURK VESTA 1. Enne paigaldustööde alustamist veenduge, et elektrikaablid, veetorud vms ei jääks kruviaukude alla! 2. Puhastage sei

DIGITAALTEHNIKA DIGITAALTEHNIKA Arvusüsteemid Kümnendsüsteem Kahendsüsteem Kaheksandsüsteem Kuueteistkü

1 Sissejuhatus 1 1 Sissejuhatus 1.1 Tarkvaraviga ehk puuk Määratlus 3 Sissejuhatus Määratlus 1 Sissejuhatus 1.1 Tarkvaraviga ehk puuk 2 1 Sissej

Voodiagrammid.dft

Pealkiri

Microsoft Word - Bose_SoundLink_around-ear_Kasutusjuhend.docx

Microsoft Word - Keypad-controller-manual-new_1.docx

Valik harjutusi eesti keele postkaartide jaoks Tervitused ja hüvastijätud Grupp töötab paarides, harjutab fraase ja täiendab kaardil olevat veel omapo

(Microsoft PowerPoint - seminar_6_n\365uded-ainemudel tagasiside.ppt [Compatibility Mode])

Väärtusta oma vabadust. Eesti Yale Seifide Kasutusjuhend Mudelid: YSB/200/EB1 YSB/250/EB1 YSB/400/EB1 YLB/200/EB1 YSM/250/EG1 YSM/400/EG1 YSM/520/EG1

Microsoft PowerPoint - loeng.ppt

Koolitus Täiskasvanud õppija õpioskuste arendamine Haridus- ja Teadusministeerium koostöös Tartu Rahvaülikooli koolituskeskusega (Tartu Rahvaülikool S

Microsoft Word - Vorm_TSD_Lisa_1_juhend_2015

Loeng12

VL1_praks2_2009s

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

Materjalid koostas ja kursuse viib läbi Tartu Ülikooli arvutiteaduse instituudi programmeerimise õpetamise töörühm 2.1 Muutujad SISSEJUHATUS Programmi

SEPTIKU JA IMBVÄLAJKU KASUTUS-PAIGALDUS JUHEND 2017

EID TARKVARA (v.1812 baasil)

EE-macbook-retina-12-early2015-qs.indd

loeng2

IT infrastruktuuri teenused sissejuhatav loeng 00

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

Makseterminali VeriFone VX675 kasutusjuhend 1

Microsoft PowerPoint - VKP_VÜFdial_J_AnnikaUettekanne_VKP_ _taiendatudMU.ppt [Compatibility Mode]

X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesug

Outlookist dokumendi registreerimine Plugina seadistamine Dokumendi registreerimine Outlookist Vastusdokumendi registreerimine Outlookist Outlooki plu

Microsoft Word - Toetuste veebikaardi juhend

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus

Praks 1

Skriptimiskeeli, mida ei käsitletud Perl Python Visual Basic Script Edition (VBScript) MS DOS/cmd skriptid Windows PowerShell midagi eksootilisemat: G

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Harku valla Ühtekuuluvusfondi veemajandusprojekt

PowerPoint Presentation

Image segmentation

Microsoft PowerPoint - EMCS13

Monitooring

Microsoft Word - installation-guide.doc

PowerPointi esitlus

Pealkiri

Puitpõrandad

Excel Valemite koostamine (HARJUTUS 3) Selles peatükis vaatame millistest osadest koosnevad valemid ning kuidas panna need Excelis kirja nii, et

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

Microsoft PowerPoint - Ettekanne_3Dprojekt_ESTGIS.ppt [Compatibility Mode]

MTAT Operatsioonisüsteemid - protsessid

Kasutusjuhend Dragon Winch vintsile DWM, DWH, DWT seeria Sisukord Üldised ohutusnõuded... 3 Vintsimise ohutusnõuded... 3 Kasulik teada... 4 Vintsimise

AASTAARUANNE

Linux süsteemi administreerimine

HCB_hinnakiri2017_kodukale

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

Väljavõte:

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier 09.02.2019

Miks on ülesannete lahendamise käigu kohta info kogumine oluline? Üha rohkem erinevas eas inimesi õpib programmeerimist. Kuidas nad õpivad? Suur osa iseseisval lahendamisel. Õpetajad ei näe, kuidas tulemuseni jõuti. Eriti MOOC-idel. Võib aidata näha lahendamisviiside leidlikkust ja ebaratsionaalsusi. millised raskused õppijatel on. mis on need teemad, millele õpetamisel rohkem tähelepanu pöörata. 2

Programmeerimiskeskkond Thonny Autor Tartu Ülikooli õppejõud Aivar Annamaa. Loodud õppimiseks ja õpetamiseks (eelkõige algajatele). Logifailid lahendamise käigu jälgimiseks ja detailseks uurimiseks. Olulised omadused Käsurida koodiredaktoriga samas vaates. Käsureal sisend ja väljund visuaalselt selgelt eristuvad. Võimalus programmi tööd samm-sammult jälgida ehk siluda (ingl debug). Võimalus kasutussessiooni taasesitada. 3

Kasutussessiooni taasesitamine Thonnys Kuidas? https://courses.cs.ut.ee/2019/poemp/main/periood2thonnylogid 4

Mille kohta saab Thonny logidest infot kasutussessiooni taasesitamise abil? Milline oli programm erinevatel ajahetkedel? Millal käivitas lahendaja programmi esimest korda? Millised veateated tulid ja millised neist kordusid? Kuidas proovis lahendaja programmi parandada? Kas ja kuidas kasutas lahendaja võimalusi väiksemate programmiosade töö kontrollimiseks? abistava vahendina silumise funktsionaalsust? Kas ja kui palju lahendaja avas Thonnys varasemate lahenduste faile? käivitas Thonnys teisi faile? 5

Fragment logifailist Ajatempliga kirjed erinevate sündmuste kohta, nt: käivitamised, veateated, silumised, teksti sisestamised, kopeerimised, kleepimised. 6

Ülesanne Tõenäoliselt on paljud näinud kaltsuvaipu, kuid võib-olla pole mõelnud sellele, kuidas neid valmistatakse. Kaltsuvaipu kootakse spetsiaalsetel telgedel, millele kinnitatakse hulk tugevast materjalist niite ehk lõimi, mille vahele hakatakse põimima kaltsuribasid. Lõimed on järgneval joonisel kujutatud rohelisena. Meie eesmärk on vajaliku lõimeniidi kogupikkuse leidmine. Kuna lõimed on telgedel pinges, siis pärast valmimist tõmbub vaip mõnevõrra kokku. Kokkutõmbumise kompenseerimiseks võetakse vaiba algpikkus soovitavast lõpp-pikkusest 20% suurem. Samuti arvestatakse, et iga lõime kumbagi otsa tuleb jätta sidumiseks 25 cm varu. Koostada funktsioon lõimede_pikkus, mis võtab argumentideks vaiba lõpp-pikkuse (ujukomaarv) ja lõimede arvu (täisarv), arvutab ja tagastab vaiba lõimede kogupikkuse ümardatuna sajandikeni. Koostada programm, mis küsib kasutajalt failinime, kus on vaipade lõpp-pikkused ujukomaarvudena meetrites eraldi ridadel, kõrvuti olevate lõimede arvu 5-meetriste ja pikemate vaipade puhul (täisarv), kõrvuti olevate lõimede arvu lühemate vaipade puhul (täisarv); loeb failist vaipade pikkused, arvutab (funktsiooni lõimede_pikkus abil) ja väljastab ekraanile iga vaiba lõimede kogupikkuse, arvutab ja väljastab ekraanile, kui palju läheb lõimeniiti vaja kõigi vaipade peale kokku ümardatuna sajandikeni. 7

Õppijate erinevad käitumismustrid 27 õppijast 15 avas ülesande lahendamise alguses Thonnys ühe varasema lahenduse faili, kust vajadusel abi saada. Kuus alustas ilma teisi faile avamata ja kuus avas neid kohe rohkem (üks lahendajatest avas kohe 21 faili). Viis lahendajat 27-st vajas ülesande lahendamise jooksul vaatamiseks rohkem kui 10 varasema ülesande lahendust. Kuus lahendajat 27-st uuris varasemate ülesannete lahendusi sellisel viisil, et pidas vajalikuks neid ka käivitada. Suuremate osade kopeerimist teise ülesande lahendusest kasutas kuus õppijat 27-st. 8

Õppijate erinevad käitumismustrid Neli õppijat 27-st lahendas ülesannet nii, et jättis varasema ülesande koodi Thonny programmiaknasse ja asus seda modifitseerima ning täiendama. Kaks lahendajat kopeeris programmiaknasse ka ülesande püstituse ja hoidis seda lahendamise ajal väljakommenteerituna silme ees. Viis õppijat 27-st kasutas programmiosa töö kontrollimiseks eelnevat väljakommenteerimist, viis tegi katsetusi mõnes teises failis ja kolm kustutas ülejäänud koodi ära või kleepis korraks mujale. Seitse õppijat 27-st kasutas programmi tööst aru saamiseks silumist. 9

Õppijate erinevad käitumismustrid 10 õppijal 27-st tuli ette ka seda, et nad käivitasid pärast veateadet programmi uuesti, ilma et oleks proovinud vahepeal viga parandada. Kolm õppijat 27-st lahendas ülesannet rohkem kui ühes failis. 12 õppijat 27-st kirjutas esialgu valmis funktsiooni ja asus siis seda testima. Koguni 11 lahendajat aga käivitas esimest korda alles siis, kui kogu lahenduse esimene versioon oli peaaegu valmis või täiesti valmis. 10

Lahendajatüübid Müüriladujad. Seda saab võrrelda müüriladuja tööga, kuna töö tulemusel kerkib müür järk-järgult. Ta laob eelmise telliserea ära ja alles siis alustab järgmisega. Kiviraiujad. Seda saab võrrelda kiviraiuja tööga, kus on kõigepealt vaja algmaterjali, millest hakata sobivat eset raiuma. See on raske töö, mis nõuab palju vaeva. Samuti on vaja palju erinevaid tööriistu. Meistrid. Teda võib võrrelda meistriga, kes on osav ja teab, mida teeb. 11

Lahendajatüübid Müüriladujad töötasid järk-järgult. Kõigepealt üks osa programmist (funktsioon), seejärel testimine, järgmine osa. Kiviraiujad kirjutasid suurema osa programmist valmis ja hakkasid seda seejärel lihvima. Palju vaeva ja abivahendina oli vaja palju teisi faile. Teiste gruppidega võrreldes läks rohkem aega ja tuli palju korduvaid veateateid. Meistrid kirjutasid samuti suurema osa programmist valmis Tuli hästi välja. Veateateid oli vähe või suutsid õppijad vead kiiresti parandada. 12

Ühe müüriladuja veateadete paiknemine ajateljel 13

Lahendajatüübid Müüriladujad töötasid järk-järgult. Kõigepealt üks osa programmist (funktsioon), seejärel testimine, järgmine osa. Kiviraiujad kirjutasid suurema osa programmist valmis ja hakkasid seda seejärel lihvima. Palju vaeva ja abivahendina oli vaja palju teisi faile. Teiste gruppidega võrreldes läks rohkem aega ja tuli palju korduvaid veateateid. Meistrid kirjutasid samuti suurema osa programmist valmis Tuli hästi välja. Veateateid oli vähe või suutsid õppijad vead kiiresti parandada. 14

Ühe kiviraiuja veateadete paiknemine ajateljel 15

Lahendajatüübid Müüriladujad töötasid järk-järgult. Kõigepealt üks osa programmist (funktsioon), seejärel testimine, järgmine osa. Kiviraiujad kirjutasid suurema osa programmist valmis ja hakkasid seda seejärel lihvima. Palju vaeva ja abivahendina oli vaja palju teisi faile. Teiste gruppidega võrreldes läks rohkem aega ja tuli palju korduvaid veateateid. Meistrid kirjutasid samuti suurema osa programmist valmis Tuli hästi välja. Veateateid oli vähe või suutsid õppijad vead kiiresti parandada. 16

Ühe meistri veateadete paiknemine ajateljel 17

Lahendajatüübid ja lahendamise sujuvus Kõik 12 "müüriladujat" lahendasid ülesande kiiremini kui ükski seitsmest "kiviraiujast". Kõigil seitsmel kiviraiujal oli ka rohkem veateateid ja korduvaid veateateid kui ühelgi müüriladujal. Võib öelda, et seitsmest ülesannet kõige vähem sujuvalt lahendanud õppijast ei töötanud keegi järkjärgult. 18

Lahendajatüübid ja lahendamise sujuvus "Meistrite" grupi viis liiget kirjutasid enne testimist valmis suurema osa ülesande lahendusest, kuid said sellega hästi hakkama. Ei ole teada kas "meistrid" töötavad ikkagi järk-järgult, aga MOOC-i kokkuvõttev arvestusülesanne oli nende jaoks sedavõrd lihtne ja nad käsitlesid seda ühe osana või on olemas õppijate grupp, kelle puhul mittejärkjärguline käitumismuster toimib. 19

Mis vajab rohkem tähelepanu? Järkjärgulisus. Võimalik, et järkjärgulise töötamise soovitamine võib aidata algajatel programmi tööst paremini aru saada ja vähendada töö käigus olukordi, kus koodis on korraga palju vigu ja lõpuks on raske mõista, mille tõttu veateade tuli. Viisid, kuidas programmiosade tööd testida. Funktsiooni väljakutsumine. Kuna õppijatel oli üsna palju raskusi funktsiooni väljakutsumisega, vajab ka see eraldi tähelepanu. 20

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier 09.02.2019