• No results found

Hrubé skóre žiakov strednej školy v prvej fáze výskumu podľa skupín Nasledujúci školský rok sme sa snažili vykonať overenie so žiakmi štvrtého ročníka, ktorí

In document 2020 Sborník konference (Page 153-156)

Code Review at School and at Programming Club

Obrázok 3: Hrubé skóre žiakov strednej školy v prvej fáze výskumu podľa skupín Nasledujúci školský rok sme sa snažili vykonať overenie so žiakmi štvrtého ročníka, ktorí

absolvovali malé recenzie v treťom ročníku. Dostali identické malé recenzie, ako predchádzajúci rok. Výsledky však nepreukázali žiadne výrazné skutočnosti, ktoré by hovorili o tom, či sa žiaci zlepšili v hľadaní chýb a zisťovaní, čo projekt vykoná. Tabuľky z tretieho a štvrtého ročníka pre objemnosť dát neuvádzame, možno ich nájsť v diplomovej práci jednej z autoriek [10].

Z analýzy výsledkov malých recenzií v treťom aj štvrtom ročníku vyplýva, že prvý príklad, v ktorom mali žiaci zistiť, čo program vykoná, dopadol vo všeobecnosti lepšie, než druhý. Toto zistenie nám štvrtáci potvrdili aj v odpovediach na otázky v dotazníku, ktorý vyplnili po skončení všetkých aktivít súvisiacich s code review.

Ich názor na využívanie takýchto typov aktivít vo vyučovaní programovania sme v dotazníku zisťovali aj prostredníctvom otázky, či by zaradili takéto typy príkladov do vyučovania programovania aj v iných ročníkoch, prípadne školách. Tri štvrtiny žiakov odpovedali kladne so zdôvodnením, že je to dobrý tréning pri učení sa programovať. Zvyšní žiaci sa nevedeli k otázke vyjadriť.

Porovnávať výsledky získané v školskom prostredí s výsledkami z prostredia záujmového útvaru asi nie je celkom priamočiare. Programátorský krúžok navštevujú najmä ľudia, ktorí sa o programovanie naozaj zaujímajú, a preto vykazujú aj lepšie výsledky. Na druhej strane, informatiku a programovanie v škole, žiaci absolvujú povinne, bez ohľadu na to, aký majú k týmto predmetom vzťah. Okrem toho, väčšina škôl má na informatiku k dispozícii jednu vyučovaciu hodinu. Nové učivo je často prezentované na jednej-dvoch hodinách. Každé stretnutie krúžku trvalo 90 minút, pričom každej novej téme sa účastníci venovali minimálne jedno-dve krúžkové stretnutia. Za tento čas teda členovia krúžku preriešili omnoho viac príkladov, než účastníci nášho výskumu na strednej škole. Ďalší rozdiel je aj vo veľkosti skupiny, ktorej sa učiteľ (v CVČ vychovávateľ) venuje. Krúžok zvyčajne navštevuje omnoho menší počet účastníkov, ako je počet žiakov v bežnej triede, čo umožňuje realizovať metódu individuálneho prístupu jednoduchšie, než učiteľovi v škole.

Výsledky experimentálneho výskumu na programátorskom krúžku nielen potvrdili predpokladané zistenie, že účastníci krúžku, ktorí sa zaujímajú o programovanie a chcú sa mu venovať, sú ochotní vynaložiť viac úsilia i času na to, aby sa naučili programovať, ale ukázali aj to, že takíto jedinci pomerne rýchlo dokážu prijať aj menej tradičné edukačné aktivity a vykazovať v nich veľmi dobré výsledky. V našom prípade už po prvej skúsenosti s code review pochopili, čo sa od nich očakáva a svoju zručnosť v recenzovaní zlepšovali tak pri zisťovaní, čo daný program robí, ako aj pri odhaľovaní a opravovaní chýb.

5 PRÍNOS A PROBLÉMY CODE REVIEW

Implementácia code review do vyučovania nie je úplne bezproblémová a prináša so sebou menšie komplikácie. V školskom prostredí predstavuje problém najmä časová náročnosť. Realizácia code review vo forme malých recenzií si vyžaduje pravidelne vyčlenenú časť vyučovacej hodiny, čo nemusí byť jednoduché, keďže učiteľ má podľa ŠVP prebrať pomerne veľa učiva, pričom časová dotácia informatiky v škole je 45 minút a výučba prebieha len raz týždenne. Okrem toho, keďže

DIDINFO 2020, Technická univerzita v Liberci, Fakulta přírodovědně-humanitní a pedagogická ide o typ aktivity, s ktorým sa žiaci bežne v škole nestretávajú, je potrebné im na začiatku podrobne vysvetliť, čo sa od nich očakáva, ukázať im vzorové riešenia podobných zadaní, prípadne ich v istom zmysle „natrénovať“, na úlohu recenzenta. Všetky tieto aktivity si opäť vyžadujú čas navyše. Sú však naozaj nutné v prípade recenzovania väčších programov, napríklad projektov, ale určite veľmi nápomocné aj v prípade malých recenzií.

Pokiaľ uvažujeme o zapojení aktivít využívajúcich code review na krúžku, problémy s časovými obmedzeniami odpadajú, keďže krúžok má jednak väčšiu týždennú časovú dotáciu a aj voľnejší plán aktivít.

Recenzovanie programov taktiež prináša do vyučovania programovania isté benefity. Učiteľ takouto formou získa širší pohľad na žiaka, zistí, ako je na tom s programovaním, ale zároveň aj ako dokáže čítať cudzí kód, či ho dokáže pochopiť, zistiť, čo robí, nájsť v ňom chyby a pomôcť ich opraviť. Žiak môže získať alternatívny pohľad na riešenie častokrát aj rovnakých problémov, aké riešil už aj on sám, čím sa v podstate len iným spôsobom učí programovať, učí sa porozumieť cudziemu programu, správne popísať chyby a trénuje si vyjadrovacie schopnosti. Tieto i ďalšie výhody využitia code review pri vyučovaní programovania, či už v škole alebo na krúžku, sa ešte umocnia, ak sa takýto typ aktivity využije pri recenzovaní dlhších programových kódov, najmä ak ich autormi sú sami žiaci (viď napr. recenzovanie projektov prezentované v jednej z našich predošlých publikácií [9]).

6 ZÁVER

Náš výskum v súčasnosti pokračuje ďalej v Centre voľného času na programátorských krúžkoch.

Niekoľko účastníkov z minulého školského roka pokračuje v programovaní v jazyku Python.

Taktiež vznikla nová skupina začiatočníkov, ktorí sa učia programovať v jazyku Python.

S minulými aj novými členmi krúžku pokračujeme v realizácii aktivít code review. Programátorská prax, výskumy zahraničných univerzít, ale aj naše menšie výskumy poukazujú na to, že tieto aktivity postupne smerujú k zlepšeniu programátorských zručností a aj u začiatočníkov v programovaní prispievajú k zlepšeniu kvality nimi vytváraného programového kódu. Preto si i napriek problémom s časovou dotáciou predmetu myslíme, že by učitelia mali podobné aktivity zapracovávať aj do vyučovania programovania, aby si na ne žiaci postupne zvykli a mohli čím skôr zužitkovať benefity, ktoré im tieto aktivity ponúkajú.

Pri zapájaní takýchto aktivít môže učiteľovi pomôcť, ak si počas hodiny všíma, aké chyby robia žiaci pri programovaní, s akými chybovými hláškami sa často stretávajú a pod. Na základe svojich pozorovaní potom môže zakomponovať nové prvky do vyučovania programovania, napríklad aj prostredníctvom code review. Taktiež môže takouto formou zistiť, či žiak dokáže nad programom rozmýšľať, pochopiť ho a abstraktne si vizualizovať, čo program vykoná a následne to popísať.

Vhodné je, ak sa takéto typy aktivít vykonávajú so žiakmi pravidelne a najmä dlhodobo. Aj toto im môže pomôcť hlbšie vniknúť do programovania a budovať si hneď od začiatku správne programátorské návyky.

7 BIBLIOGRAFICKÉ ODKAZY

[1] BOEHM, B. Software Engineering Economics. (Englewood Cliffs 1981). General Electric PRICE Systems: PRICE-Software Model Reference Manual, 1989.

[2] KUBINCOVÁ, Z., HOMOLA, M. Code Review in Computer Science Courses: Take One.

In: International Conference on Web-Based Learning. Springer, Cham, 2017. p. 125–135.

[3] UWANO, H., et al. Analyzing individual performance of source code review using reviewers' eye movement. In: Proceedings of the 2006 symposium on Eye tracking research &

applications. ACM, 2006. p. 133–140.

[4] WIEGERS., K. E. Peer reviews in software: A practical guide. Addison-Wesley Boston,

DIDINFO 2020, Technická univerzita v Liberci, Fakulta přírodovědně-humanitní a pedagogická

[5] SADOWSKI, C, et al. Modern code review: a case study at google. In: Proceedings of the 40th International Conference on Software Engineering: Software Engineering in Practice.

ACM, 2018. p. 181–190. Dostupné na: https://sback.it/publications/icse2018seip.pdf

[6] TRYTTEN, D. A. A design for team peer code review. In: ACM SIGCSE Bulletin. ACM, 2005. p. 455–459.

[7] TANG, M. Caesar: a social code review tool for programming education. 2011. PhD Thesis.

Massachusetts Institute of Technology.

[8] CSICSOLOVÁ, I., KUBINCOVÁ, Z. Code review v programovaní na strednej škole – predbežné výsledky. Sborník konference Didinfo, Liberec, 2018. ISBN 978-80-7494-424-6, ISSN 2454-051X. Dostupné na:

http://www.didinfo.net/images/DidInfo/files/Didinfo_2018.pdf.

[9] CSICSOLOVÁ, I., KUBINCOVÁ, Z. Nájdeš chybu v mojom programe? Zborník

konferencie Didinfo, Banská Bystrica, 2019. ISBN 978-80-557-1533-9, ISSN: 2454-051X.

Dostupné na: https://io.fpv.umb.sk/didinfo/Zbornik_Didinfo_2019.pdf.

[10] CSICSOLOVÁ, I. Code review v informatike na strednej škole, Diplomová práca, FMFI UK,

Bratislava, 2019.

Mikrosvet na výučbu programovania priateľský

In document 2020 Sborník konference (Page 153-156)