Python skyldi í upphafi skoða
Forritun fyrir unglinga og fleira fólk
Last updated
Forritun fyrir unglinga og fleira fólk
Last updated
Af hverju ættum við að læra forritun? Líklega eru til mörg mismunandi (og misgáfuleg) svör við þeirri spurningu. Mín skoðun, höfundarins að þessu kennsluefni, er sú að einstaklingur ætti að læra forritun til að öðlast ákveðna sýn eða sjónarhorn á heiminn. Að skilja hvernig tölva vinnur úr forriti er þekking sem er hægt er að færa yfir á aðra þætti tölvunnar og tækni yfirleitt. Ég hef ákaflega takmarkaðar áhyggjur af atvinnulífinu í framtíðinni. Ég hef miklu meiri áhyggjur af því að takmörkuð þekking á tölvutækni (forritun þar með talinni) myndi gjá á milli tölvubúnaðar og notenda. Hvort sem við notum snjalltæki, borðtölvu, leikjatölvu eða stafrænan örbylgjuofn liggur einhver forritun þar að baki. Þessi forritun skilgreinir og ræður því hvernig við getum notað tækin.
Forritunarmál og tæki
Tegund tækisins og tilgangur stýrir því hvaða forritunarmál eru heppilegust. Fyrir tölvuleiki getur til dæmis verið heppilegast að nota þýdd (e. compiled) forritunarmál því þau skila sér í hraðvirkari keyrslu. Kóði þýddra forritunarmála fer, eins og nafnið gefur mögulega til kynna, í gegn um hugbúnað sem kallast þýðandi (e. compiler) og breytir þeim kóða í vélkóða sem tölvan skilur. Þar sem að þetta gerist allt áður en kóðinn er keyrður verður keyrslan hraðari. Ókostir forritunarmála sem hægt er að þýða með þessum hætti felast hins vegar oftast í háu flækjustigi og löngum þróunartíma (þeim tíma sem tekur að skrifa forrit). Forritunin gengur fljótar fyrir sig með æðri forritunarmálum (e. high-level language).
Æðri forritunarmál fá nafn sitt ekki vegna þess að þau séu betri en önnur mál heldur vegna þess að þau eru hærra eða lengra frá vélbúnaðinum. Þau eru oftast túlkuð (e. interpreted) sem þýðir að kóða þeirra er ekki umbreytt í heilu lagi yfir í vélkóða áður en þau eru keyrð. Þau eru í staðinn túlkuð jafnóðum og því verður keyrsluhraði þeirra minni en ella. Kostir þeirra liggja frekar í því að þróunartími þeirra er skemmri en þýddra mála, þau eru ekki jafn flókin, krefjast ekki jafn mikillar sérþekkingar og henta breiðari hópi fólks. Mikilvægt er samt að hafa í huga að hér er dregin upp einföld mynd. Forritunarmál geta verið með ýmsu móti enda hafa þau verið þróuð til að leysa ólíka hluti.
Af hverju að velja Python og til hvers er kennsluefnið?
Python fellur undir það sem kallast æðra forritunarmál (e. high-level programming language) og þykir auðvelt að skilja og læra. Það er aðgengilegt án endurgjalds fyrir öll algengustu stýrikerfi og gefið út undir opnu leyfi (e. open source license) eða Python License í útgáfu 2.0. Allt þetta gerir að verkum að Python er oft valið sem fyrsta forritunarmál fyrir nemendur og aðra byrjendur í forritun.
Höfundur tekur fram að markmið með því efni sem hér er lagt fram er ekki að halda Python á lofti sem einu réttu leiðinni í forritunarkennslu heldur að bjóða upp á kennslu á íslensku í forritun sem auðvelt er að skilja og læra. Það er samið með unglinga í grunnskóla í huga og á að vera nokkurs konar inngangur að tölvunarfræði en getur vonandi nýst mörgum fleirum. Umfjöllunin er ekki tæmandi en á að kynna grunnþætti sem lúta að forritun og hugbúnaði.
Námsefnið sem hér er að finna er samið af Sverri Hrafni Steindórssyni og er hluti af meistaraverkefni til M.Ed.-gráðu við Menntavísindasvið Háskóla Íslands. Greinargerð sem efninu fylgir má finna í gagnasafninu Skemmu.
Mikilvægt er að nálgast efnið með því hugarfari að forritun sem hér er kennd sé eitthvað sem allir geti lært. Um leið þarf að muna að fólk býr yfir ólíkum hæfileikum, fer í efni sem þetta með ólíkum hætti og meðtekur það á sínum hraða.
Hafa þarf í huga að það er ekki bara í lagi að gera alls konar mistök, höfundur hreinlega mælir með því. Ekkert verkefnanna sem hér eru lögð fram geta valdið tjóni!
Námsefnið er reitt þannig fram að heiti meginkafla birtast á vinstri hönd. Þegar komið er inn í hvern kafla birtast undirþættir hans á hægri hönd.
Nokkur orð um námskrá grunnskóla
Í Aðalnámskrá grunnskóla frá 2013 eru meðal annars birt þessi markmið fyrir unglingastig:
Að nemendur geti útskýrt einfaldan hugbúnað, eðli og uppbyggingu tölvu.
Að nemendur geti nýtt hugbúnað við forritun og miðlun þekkingar á fjölbreyttan og skapandi hátt.
Í kaflanum Kennsluhættir og námsmat í upplýsinga – og tæknimennt segir meðal annars:
„Nemendur þurfa að læra að nýta tæknina, átta sig á eðli hennar og uppbyggingu, auka skilning sinn á henni, t.d. með hönnun og þróun hugbúnaðar“
Undanfarin ár hefur áhugi á kennslu forritunnar aukist til muna á Íslandi. Finna má vísbendingar um þennan áhuga í skólanámskrám skóla um allt land sem og í þeirri frístundaiðju sem börnum stendur til boða að skóla loknum. Áherslan hefur hins vegar verið mikil á myndræna forritun fyrir yngri börn og mikill skortur er á kennsluefni í textabundinni forritun fyrir unglinga. Áhugasamir kennarar sem höfundur hefur rætt við nefna helst ókeypis efni sem í boði er á erlendum vefsetrum. Hér er reynt að bæta úr þessu með því að bjóða upp á aðgengilegt námsefni í Python skrifað á íslensku.
Sverrir Hrafn Steindórsson Meistaraverkefni til M.Ed.-gráðu í grunnskólakennarafræðum við Kennaradeild