Tölvumál - 01.11.2015, Blaðsíða 35
35
öflugasta þróunarumhverfið fyrir Apple tölvur. Vandamálið við að nota
Visual Studio og XCode við kennslu er hinsvegar að þá eru sumir
nemendur hugsanlega ekki með sama umhverfi og kennari. CodeBlocks
(http://www.codeblocks.org/) er ókeypis þróunarumhverfi sem virkar
fyrir bæði Windows, MacOS og Linux, og það hefur því orðið fyrir valinu
sem þróunarumhverfið sem er notað við kennslu í C++ við Háskólann í
Reykjavík. CodeBlocks er alls ekki gallalaust, til dæmis þarf stundum að
breyta nokkrum stillingum til að það sé stöðugt á Apple tölvum, en það
er engu að síður mjög öflugt og býður upp á allt það sem þarf fyrir
inngangsáfanga í forritun.
Forrit sem búin eru til af nemendum í fyrstu áföngum í forritun eru oftast
tiltölulega lítil og án notendaviðmóts. Slík forrit eru keyrð í gegnum
skipanalínu. CodeBlocks, sem og önnur þróunarumhverfi, býður upp á
að ræsa sjálfkrafa skipanalínuna til að keyra forrit, sem er sú leið sem
flestir nemendur velja. Hinsvegar er stundum mikilvægt að geta keyrt
sama forritið aftur og aftur í gegnum sömu skipanalínuna, til dæmis
þegar verið er að sýna dæmi um keyrslur á forriti í kennslu því þá þarf
oft hafa stærra letur, en leturstærð er upphafsstillt í hverjum nýjum
glugga. Á Apple tölvum er Terminal skipanalínan mjög öflug, sem og á
Linux vélum, á meðan innbyggða skipanalínan í Windows er afar
takmörkuð. Þeir nemendur sem vilja nota skipanalínu á Windows
tölvum ná sér því oftast í aðrar skipanalínur, til dæmis Console2 (http://
sourceforge.net/projects/console/).
PIAZZA
Þegar verið er að kenna stóra áfanga þá er mikilvægt að hafa auðveldar
leiðir fyrir nemendur að leita sér aðstoðar hjá kennurum og að setja fram
spurningar um námsefnið. Stundum er farin sú leið að búa til hópa á
Facebook þar sem nemendur og kennarar geta rætt saman. Gallarnir
við þá leið eru hinsvegar nokkrir, t.d. þvingar það alla til að vera
Facebook notendur, það setur óskýr mörk milli skólans og einkalífs
nemenda og kennara utan skóla, það er erfitt að skipuleggja eða að
leita að ákveðnum atriðum, og það er mjög erfitt að setja inn forritakóða
á Facebook þannig að kóðinn sé læsilegur. Vefforritið Piazza (piazza.
com) var hannað til að mæta þessum vanköntum, þar geta nemendur
sent inn spurningar og valið um að hafa þær aðeins sýnilegar kennurum,
ákveðnum kennurum eða öllum. Það er þægilegt að leita, spurningar
eru flokkaðar, og það er sérstakur textaritill sem gerir það auðvelt að
setja inn fallegan kóða. Piazza veitir líka góða yfirsýn fyrir kennara, til
dæmis hversu langan tíma nemendur þurfa að bíða að meðaltali áður
en þeir fá svör við spurningum og hversu virkir einstakir nemendur og
kennarar eru í kerfinu. Eftir að hafa prófað bæði Facebook og Piazza
sem samskiptavettvang fyrir áfanga, hvort sem um er að ræða forritun
eða annað, þá tel ég Piazza hiklaust betri valkost.
GIT
Git er kerfi sem er hannað fyrir útgáfustjórnun á forritum (e. version
control). Git fylgist með ákveðnum skráarsvæðum á tölvunni, og geymir
hvernig allar skrár í því skráarsvæði líta út, þ.e. git geymir allar breytingar
á öllum skrám. Git er ómissandi þegar margir einstaklingar eru að vinna
í sama kerfinu, því þá þarf að passa upp á að breytingar hjá einum aðila
muni ekki skapa vandræði fyrir aðra. Með því að nota git má fá
nauðsynlega stjórn og skipulag þannig að margir geti unnið í sama
kerfinu samtímis.
Fyrir kennslu í forritun þá er mikilvægt að nemendur kynnist aðeins git,
sérstaklega ef nemendur taka þátt í stærri hugbúnaðarverkefnum
seinna meir, en það er einnig þægilegt að nota git til að koma
sýnidæmum og öðrum kóða beint til nemenda. Í fyrirlestri er oft verið að
taka sýnidæmi þar sem verið er að byggja rólega upp stærri forrit eða
nota sama forritið til að sýna mismunandi dæmi. Með því að nota git má
t.d. taka skyndimyndir af forritinu á nokkurra mínútna fresti á meðan
fyrirlestri stendur, þannig að nemendur geti fengið afrit af forritinu nær
samstundis með því að nota git til að sækja nýjustu útgáfu, en einnig
má skoða eftir á hvernig forritið þróaðist í gegnum fyrirlesturinn. Hægt
er að nota ýmis forrit, t.d. gitk, til að sjá á myndrænan hátt hvernig
breytingar á forritinu voru gerðar.
MOOSHAK
Þegar nemendur skila verkefnum er mjög þægilegt að nota tölvur til að
athuga hvort forritin virki rétt eða ekki. Mooshak var upprunalega
hannað sem kerfi til að sjá um forritunarkeppnir, en innan Háskólans í
Reykjavík hefur það verið aðlagað að skilum á forritunarverkefnum.
Nemendur skila inn kóða í Mooshak, sem sér um að þýða kóðann og
keyra forritið á fyrirfram ákveðnum prófunardæmum. Nemendur fá svo
endurgjöf frá Mooshak hvort forritið innihaldi villur og hvort það náði að
skila réttum svörum við prófunardæmunum. Þetta gefur nemendum
betri innsýn í það hvort forritin þeirra virki rétt, ásamt því að hjálpa mikið
til við yfirferð á verkefnum.
RAFRÆNT PRÓFAKERFI
Þar sem nemendur eru að vinna á sínum eigin tölvum alla önnina við að
forrita, þá er mikilvægt út frá kennslufræðum að lokapróf og önnur próf
séu í svipuðu umhverfi. Þar sem fjöldi nemenda á hverju ári er slíkur að
það er ómögulegt að nota tölvustofur skólans til að prófa á tölvum, var
farin sú leið að láta nemendur taka próf á sínum eigin tölvum. Hinsvegar
er mikilvægt að nemendur geti ekki haft samskipti sín á milli á meðan
prófi stendur. Til að leysa það vandamál er notað rafrænt prófakerfi,
sem virkar þannig að nemendur ræsa tölvurnar upp á USB lykli sem
inniheldur Linux stýrikerfi. Það stýrikerfi keyrir á tölvum nemenda og
inniheldur öll nauðsynleg forrit, til dæmis CodeBlocks þróunarumhverfið.
Í þessu kerfi er einnig git sem sér um að taka afrit af öllu sem nemandinn
skrifar, til að tryggja að gögn glatist ekki. Prófakerfið notar engin gögn af
tölvum nemenda, það tengist hörðum diskum ekki að neinu leyti og er
algerlega óháð því hvaða stýrikerfi er á tölvunum. Nemendur fá
prófspurningar annað hvort á blaði eða í prófakerfinu, skrifa sín forrit á
sínar tölvur í vernduðu Linux umhverfi, og skila inn lausn með því að
smella á viðeigandi tákn á skjáborði. Hér er því mikilvægt að nota sama
þróunarumhverfi og nemendur eru vanir og því er CodeBlocks góður
valkostur.
MOSS
Því miður gerist það öðru hvoru að nemendur brjóti gegn verk- og
prófareglum, til dæmis með því að afrita forrit frá öðrum nemendum.
Þegar um er að ræða mikinn fjölda af nemendum getur verið erfitt að sjá
slíkt. Moss (Measure of Software Similarity) er kerfi sem var þróað í
Stanford (https://theory.stanford.edu/~aiken/moss/) til að finna forrit
sem eru svipuð eða eins. Hægt er að láta Moss skoða allar lausnir af
ákveðnum verkefnum og fá til baka skýrslu sem sýnir lista yfir lausnir
sem eru svipaðar ásamt mælikvörðum hversu líkar lausnirnar eru. Með
því að skoða vandlega þau forrit sem Moss telur vera eins má
auðveldlega finna þau verkefni sem eru afrituð. Kosturinn við Moss er
að það skilur flest forritunarmál og aðlagar sig að þeim, þannig að forrit
geta verið talin eins, jafnvel þó breytuheitum eða athugasemdum í kóða
hafi verið breytt.
LOKAORÐ
Þrátt fyrir að margvíslegur hugbúnaður hjálpi oft við kennslu í forritun,
samanber atriðin hér að framan, þá koma reglulega stundir þar sem
nauðsynlegt er að nota túss og töflu til að útskýra einhver atriði.
Vandamálið er að oftast er skjávarpi í gangi sem tekur plássið frá
töflunni, því flestar skólastofur virðast gera ráð fyrir að kennari noti alltaf
aðeins annaðhvort túss eða skjávarpa. Ein einföld lausn til að komast
hjá þessu er að setja svarta skjáhvílu á tölvuna sem verður virk þegar
músabendillinn er settur í ákveðið horn. Með því að hafa skjávarpa í
gangi en myndina alveg svarta þá virkar þetta eins og búið sé að
slökkva á skjávarpanum og því má teikna á töfluna að vild.
Í tölvuheiminum er þróunin hröð og breytingar örar. Sá hugbúnaður sem
notaður er til kennslu í forritun breytist einnig hratt og því er nauðsynlegt
að fylgjast vel með öllum breytingum. Færni í forritun verður æ
mikilvægari eftir því sem tölvur öðlast stærri sess í daglegu lífi okkar, og
sérstaklega þarf að hlúa að kennslu í inngangskúrsum í forritun því lengi
býr að fyrstu gerð.