Þessi síða notar kökur (e. cookies) til að auðvelda þér að vafra um vefinn.

Hvernig er best að kenna forritun?

asrun 13035Mikið er ritað og rætt um gagnsemi og ágóða af kennslu í forritun í grunn- og framhaldsskólum og er greinilega vaxandi áhugi á að auka þessa kennslu. Kennarar og kennsluaðferðir skipta miklu máli í að móta viðhorf nemenda til námsgreina og þarf að vanda til verka í forritunarkennslu sem og allri annarri kennslu, t.d. með því að tryggja að kennara hafi góða þekkingu og færni í forritun sem og í kennslufræði forritunar. Neil C. C. Brown og Greg Wilson skrifuðu áhugaverða grein Ten quick tips for teaching programming sem langar mig að fara yfir og ræða hér í upphafi annar. Þó að greinin taki mið af eldri nemendum þá held ég að hugmyndafræðin eigi við alla sem kenna forritun.

  1. Munið að það eru engin „geek“ gen, hæfni til að forrita er ekki meðfædd heldur er hún lærð færni sem hægt er að öðlast og bæta með æfingum. Þegar „geek“ gena misskilningur fer saman við staðalímyndir um hver er og er ekki "náttúruleg forritari" þá getur það leitt til mismununar sem hefur áhrif á ójafnvægi kynjanna í tölvunarfræði. Við megum ekki gleyma að oft fá strákar fyrr áhuga á forritun og hafa því mun lengri reynslu þegar þeir koma í ofar í skólakerfið og það eitt og sér getur ýtt undir þennan misskilning. Við þurfum að mæta öllu nemendum með opnu hugarfari og kynna forritun fyrir þeim útfrá þeirra bakgrunni. Það skiptir miklu máli að kynna forritun fyrir báðum kynjum á jákvæðan hátt þannig að þau geti myndað sér skoðun á faginu á sem fordómalausastan hátt.
  2. Notið jafningafræðslu. Líklega er besta forritunarkennslan ef kennt er maður á mann en því miður er það sjaldan í boði og því þarf að leita annarra leiða. Eitt af því sem hægt er að gera er að nota jafningjafræðslu sem felst ekki bara í því að nemendur séu að aðstoða hvern annan heldur þarf hún að vera skipulögð og markviss. Í greininni eru settar fram 5 þrepa leið fyrir jafningjakennslu sem áhugavert er að prófa en þrepin eru í stuttu máli: 1) kennari kynnir efni (nemendur geta líka undirbúið sig heima fyrir tímann) 2) lagt er fyrir vandað krossapróf en þó ekki of þungt, 3) hver og einn nemandi svara rafrænt, 4) nemendur fá 7-10 mín til að ræða um svörin í 2-4 manna hópum og svara síðan aftur, 5) kennarinn ræðir þau svör sem enn eru röng. Hér vinna nemendur verkefnið (prófið) fyrst einir en síðan í hóp með jafningjum og læra þannig hver af öðrum. Í stað prófs má hugsa sér annars konar verkefni en það þarf að huga vel að þeim sem vel gengur, þeir verða líka að fá efni við sitt hæfi.
  3. Forritið í beinni, í rauntíma, fyrir nemendur. Ekki koma með tilbúin (langt) forrit á glærum sem skellt er upp á tjald. Sýnið nemendum hvernig þið forritið. Sýnið þeim hvernig þið vinnið. Byrjið með auðan skjá og vinnið ykkur áfram með nemendum. Með því móti er hægt að stoppa við spurningar nemenda og sýna þeim allskonar útúrdúra hér og nú. Einnig er hægt að fara á mismunandi hraða allt eftir því hvor nemendur skilja eða fylgja eftir eða ekki, stoppa, bíða, fara til baka, gera kennsluna lifandi og raunverulega.
  4. Láta nemendur giska á hvað forritið gerir. Þegar kennari er að forrita í beinni fyrir nemendur þá keyrir hann/hún eflaust forritið nokkru sinnum til að sýna hvað það gerir. Rannsóknir hafa þó sýnt að sýnikennsla bætir ekki endilega nám og marga misminnir um það sem sýnt var. Því getur verið betra að láta nemendur giska á hvað muni gerast áður en forritið er keyrt. Best er ef hægt er að hafa skipulag á framkvæmdinni (ágiskunum) t.d. kjósa um möguleika, senda inn möguleika sem birtast á skjá, ræða sín á milli hvað muni gerast. Kennari getur gripið inn í og t.d. spurt hvers vegna eða hvernig til að auka íhugun. Þegar nemandinn tekur þátt og er virkur festist efnið betur í minni og skilningur eykst.
  5. Notið paraforritun (pair programming), sem er aðferð við þróun hugbúnaðar þar sem tveir forritara sameinast um eina tölvu. Einn (driver) sér um að ská inn á meðan hinn (navigator) kemur með athugasemdir og tillögur. Síðan er skipt um hlutverk öðru hvoru t.d. 3-4 í kennslustund. Passa þarf að allir séu með, allir fái að vera par og að pörin séu þannig samsett að þau læri hver af öðrum og ræði um það sem verið er að gera.
  6. Notið tilbúin forrit sem hafa verið brotin niður í smærri einingar (subgoals). Nemendum með litla reynslu fallast oft hendur þegar þeir sjá langan kóða og því er gott að brjóta hann upp eða jafnvel fá nemendur sjálfa til að skipta honum upp í einingar. Of sjá óvanir ekki hvað verkefni eru lík þó að vanir sjá það og því er gagnlegt að leggja fyrir svipuð verkefni til þjálfunar og nemendur átta sig betur á líkindunum þegar þeir sjá forrits búta. Það tekur tíma að átta sig á stöðluðum hlutar forrita og því oftar sem nemendur sjá kóðann því betur muna þeir eftir honum.
  7. Haldið ykkur við eitt forritunarmál því að yfirfærsla á þekkingu kemur ekki fyrr en þú hefur náð góðum tökum á henni. Nemendur þurfa tíma til að sjá skóginn fyrir trjánum áður en þeir geta yfirfært þekkingu sína, t.d. á lykkjum og föllum á milli t.d. Python og JavaScript. Að ætla þeim það of snemma getur dregið úr þeim allan kjark.
  8. Notið „alvöru“ verkefni með myndum, hljóði og myndskeiðum því rannsóknir sýna að nemendur muna betur þegar fleiri skynfæri eru notuð. Það þarf líka að hafa í huga að sýnidæmi, t.d. tölvuleikir, geta verið spennandi fyrir suma en ekki aðra og því þarf að vanda valið á því sem sýnt og gert er. Það hefur gefist vel að láta nemendur hafa tilbúinn kóða sem þeir eiga síðan að bæta og breyta. Þeir vilja gjarnan fá sýnilega og fullnægjandi niðurstöð fljótt þegar þeir eru óvanir og eiga á hættu að gefast upp. Mikilvægt er að velja verkefni sem í raun þjálfa nemendur í því sem þeir eiga að læra og ​​láta þá hafa allt sem til þarf til að komast af stað. Þrautir þar sem nemandinn er lengi að finna út hvað er verið að biðja um áður en hægt byrja á kóðanum getur auðveldlega fælt frá þá sem eru óöruggir og þekkja lítið til forritunar. Ef þrautlausn er ekki meginmarkmið námsins þá það ekki að vera megin viðfangsefni verkefna.
  9. Munið að nýgræðingar í forritun eru ekki sérfræðingar og þurfa því aðra nálgun og önnur verkfæri en þeir sem eru lengra komnir. Nýgræðingar verða ekki sérfræðingar á því að fá lengri tíma til að gera það sem sérfræðingar geta gert. Í lestrarkennslu notum við ekki Íslendingasögurnar fyrir ólæsa, við notum bækur með einföldum orðum og stærra letri. Við þurfum að miða efnið við getu nemendanna og byggja hana síðan smásaman upp. Nú eru til margskonar hjálpartæki við kóðun og er um að gera að velja það sem hentar aldir og getu nemendahópsins.
  10. Ekki láta nemendur bara skrifa kóða heldur líka vinna með tilbúinn kóða sem hefur t.d. verið raða upp í rangri röð. Margir hafa nýtt sér svokallað Parson’s Problem sem felst í að endurraða kóða sem eykur skilning á uppbyggingu hans og hvernig reiknirit virka. Að ná að leysa vanamál er hvetjandi fyrir byrjendur og getur komið þeim yfir versta hjallann ef þau eru óörugg. Að sjá árangur skiptir miklu máli. Reynið því að miða verkefnin við nemendahópinn eins og hann er en ekki eins og þið vilduð að hann væri eða teljið að hann ætti að vera. Ef hægt er þá gefst vel að nota umhverfi sem minnir á leiki, jafnvel fyrir lengra komna, flestir hafa gaman af að leika sér.

Ég vona að þessi samantekt veki áhuga á forritunarkennslu og hvetji lesendur til að taka að sér kennslu í skólum landsins.

Höfundur: Ásrún Matthíasdóttir lektor við Háskólann í Reykjavík

Heimild:

Brown, N., C. C., og  Wilson, G. (2018). Ten quick tips for teaching programming. PLOS Computational Biology Education paper. https://doi.org/10.1371/journal.pcbi.1006023

Lesið 451 sinnum Síðast breytt mánudagur, 14 January 2019 21:34