Professional Documents
Culture Documents
2 MetodikaNastaveInformatike PDF
2 MetodikaNastaveInformatike PDF
1.1
1.1.1
1.1.2
1.1.3
1.1.4
1.1.5
1.2
Motivacija i stilovi uenja i pouavanja ........................................................................................... 16
1.3
Modeli planiranja nastave ..................................................................................................................... 18
1.3.1
Taylerov model planiranja......................................................................................................... 18
1.3.2
Walkerov model planiranja ....................................................................................................... 19
1.3.3
Model akcijskog istraivanja ..................................................................................................... 19
2 OSNOVNI DIDAKTIKI KONCEPTI .......................................................................................................... 20
2.1
Problemska nastava ............................................................................................................................... 23
2.2
Programirana nastava ........................................................................................................................... 25
2.3
Didaktiki pristupi programiranju istraivanja ............................................................................ 27
Znakovna skala .......................................................................................................................... 27
2.3.1
2.3.2
Sustav spoznajnih ciljeva .......................................................................................................... 28
2.3.3
Rjeavanje problema.................................................................................................................. 28
2.4
Primjeri problemski orijentirane i programirane nastave ............................................................... 31
2.4.1
Uvodni dio o programskom jeziku PASCAL [7] .................................................................. 31
2.4.2
PASCAL program ..................................................................................................................... 32
2.4.3
Primjeri problemski orijentirane nastave .................................................................................. 52
2.4.4
Primjeri programirane nastave ................................................................................................. 62
3 KATEGORIZACIJA PRISTUPA .................................................................................................................... 76
3.1
Predavanja i vjebe ................................................................................................................................ 76
3.2
Vizualizacija software-a ........................................................................................................................ 77
3.2.1
Vizualizacija programa .............................................................................................................. 78
3.2.2
Animacija algoritma .................................................................................................................. 85
3.2.3
Vizualno programiranje ............................................................................................................. 93
3.3
Roboti....................................................................................................................................................... 94
3.4
Kognitivno tutorstvo .............................................................................................................................. 95
3.5
Ostalo ....................................................................................................................................................... 96
4 NAUNA ISTRAIVANJA U OBLASTI PRIMJENE VIZUALIZACIJE U NASTAVI........................ 97
5 ZAKLJUAK ..................................................................................................................................................... 99
LITERATURA .........................................................................................................................................................100
UVOD
Dananji kolski sustav ima za cilj pripremiti uenike i studente za korisne i uspjene
lanove drutva u kojem e ivjeti i raditi razvijanjem njihovih znanja i sposobnosti. U okviru
toga, veoma vano mjesto zauzima informatika. Informatika je relativno mlada znanost i
pouava se kroz osnovnu, srednju kolu i na fakultetima. Kroz predmet Informatika, predvia
se obrada gradiva podruja informacijsko komunikacijske tehnologije (ICT) i raunarstva
(Computing). Bez nje je danas nezamisliva bilo koja grana gospodarstva i znanosti.
Iz
dosadanjih saznanja, te zadanih ciljeva nastave informatike vidljiv je njen veliki znaaj.
Ciljevi i zadaci nastave informatike, u nastavnom procesu propisani su planom i programom, a
mogu se svesti na sljedee ciljeve i zadatke[20]:
Ciljevi:
Zadaci:
Znati samostalno koristiti raunalo pri pisanju razliitih tekstova i obradi tekstova.
1 O DIDAKTICI
[1]-
PEDAGOGIJA
DIDAKTIKA
METODIKA
METODIKA
METODIKA
Sklop obrazloenja
Tematsko strukturiranje
Odreivanje mogunosti
pristupa i prikazivanja
Metodiko strukturiranje
1. znaenje za sadanjost
4. tematska struktura
(ukljueni nastavni potciljevi)
i socijalni ciljevi uenja
6. pristupanost, odnosno
prikazivost (izmeu ostalog
pomou medija i u medijima)
2. Znaenje za budunost
5. zornost i provjerljivost
3. Egzemplarno znaenje,
izraeno u postavljanju opih
ciljeva nastavne jedinice,
projekta ili teaja
NC
PS
KU
VP
slika 3. Prikaz grubog didaktikog planiranja nastavne jedinice sa meusobno povezanim momentima djelovanja [2]
savjetovanje
analiza
vrednovanje
planiranje
upravljanje
ostvarenje
Kooperativno
djelovanje
ciljeve izobrazbe; regulator je uitelj strateg koji djeluje po zadanoj strategiji (planiranom
obrazovnom procesu); izvrni lanci su osobni ili tehniki mediji koji slue provoenju
strategije; mjerna osjetila su elementi kontrole uenja koji nam pomau pri mjerenju stadija
uenja ukoliko nisu zadovoljavajui zapoinjemo novi proces upravljanja; regulacijski krug
odgoja i izobrazbe je funkcionalna shema koja povezuje sve ove elemente.
Zadana vrijednost
Obrazovni cilj
Regulator:
nastavnik kao planer
Odgojna strategija
(obrazovna strategija)
Stvarna vrijednost
Izvrni lanak
osobe,
mediji
Mjerno osjetilo;
Kontrola uenja
Upravljana
veliina:
adresat
upravljanje
Reakcije adresata
10
2.
3.
zadani ciljevi i jesu li odabrane optimalne strategije, tj. Je li od uenika U postao uenik U'.
11
Planiranje
Zadano ponaanje
U uenik na
poetku procesa
uenja
U' uenik na
kraju procesa
uenja
Kontrola uenja
Stvarno ponaanje
KU korak u
uenju
U'
KU6
KU5
KU4
Zadano
ponaanje
U
KU3
KU2
stvarno ponaanje
KU1
Organizacija uenja
slika 6. Prikaz razvijanja kurikuluma kroz procese planiranja, organizacije i kontrole uenja. [2]
2)
3)
rasporeivanje ciljeva
4)
odluivanje za ciljeve
5)
Promatrajui jedan konkretan primjer, kroz jednu nastavnu temu, moemo analizirati ove
odrednice: nastavna tema brojevni sustavi
1. Ciljevi uenja podsjetiti uenike na brojevne sustave koje poznaju do sada i
upuivanje u druge brojevne sustave, kao i njihova namjena.
2. Opisivanje ciljeva zadatak nam je objasniti uenicima gdje se koriste ti brojevni
sustavi.
12
Ako uenje organiziramo prema ciljno usmjerenom pristupu postoji niz koraka pomou kojih
e uenici ostvariti postavljene im ciljeve:
1)
produkt procesa organizacije uenja kada smo izvrili opis svih nastavnih
2)
3)
4)
13
12. Aspekt koji nastavu analizira sa stajalita poremeaja odnosi se na vrste poremeaja
(to su razliite smetnje koje utjeu na uenje i pouavanje), na odreivanje prisutnosti
poremeaja, na smjerove poremeaja, na posljedice i uzroke smetnji. (Slika 7.)
Kroz kritiku teoriju nastavne komunikacije nastavu moemo planirati na sljedei nain:
1) Trostruko planiranje nastave kroz organizaciju, razne oblike posredovanja, te
situacije s rjeenjima.
2) Svaki nastavni sat sastoji se od niza procesa poduavanja i uenja
3) Ciljevi se pojavljuju jednom, i to tako da prelaze granice pojedinih predmeta
4) Pojedine situacije s rjeenjima kroz nastavni sat odnose se na 3 vrste ciljeva:
a. zatvoreni ciljevi poznati ciljevi
b. poluotvoreni ciljevi nisu nam uvijek dostini
c. otvoreni ciljevi ne moemo ih zadati unaprijed
5) Planiranje i analiza nastave u realizaciji zajedno ine neprekidni proces
aspekt posredovanja
1
poremeajni
aspekt
nastavni
procesi
sadrajni aspekt
3
aspekt odnosa
15
Nastavna tehnika
Didaktiki
etverokut
Uenik
Nastavni sadraji
16
Za postizanje to boljeg uspjeha i to veeg stupnja znanja veoma je vana i radna klima.
Preduvjet dobre radne klime je uspjena emocionalna klima, a ona se postie poticajnim
pozitivnim osjeajima kao to su oputenost, ugodnost, radost, smijeh i sl.
Nastavnik je taj koji treba graditi takvo poticajnu i ugodnu radnu atmosferu, te poticati uenike
u njihovom radu. Njegove su uloge u odgojno obrazovnom procesu vrlo bitne, te je potrebno
da je, osim struan u svom predmetu, ujedno i dobar didaktiar, predava, dijagnostiar,
instruktor aktivne nastave te graditelj pozitivne emocionalne klime.
S druge strane, uenici i ue na razliite naine, pa tako po stilovima uenja razlikujemo tri
osnovna stila:
To su: vizualni stil uenja
auditivni stil uenja
kinestetiki stil uenja
- Vizualni tipovi imaju sljedee karakteristike: moraju vidjeti da bi zapamtili, vie vole
ilustracije, dobro biljee predavanja, uredni su i organizirani, brzo priaju, dugorono planiraju,
uoavaju detalje, pamte pomou vidnih asocijacija, ne ometa ih buka, vole itati, dobri su
itai, araju za vrijeme telefonskih razgovora, esto znaju to bi rekli, ali tee pronalaze rijei,
mirniji su po prirodi.
- Auditivni tipovi moraju uti da bi zapamtili, preferiraju sluanje, pa se ponekad izgube kad
moraju zapisati, ometa ih buka, vole itati na glas, detaljni su u opisima, rukopis im je obino
ruan, otvorene su i komunikativne osobe
- Kinestetiki tipovi daju prednost manipulaciji materijalom i grupnoj dinamici, najbolje pamte
izvodei odreeni pokret, dobro reagiraju na fizike nagrade, dodiruju ljude da bi privukli
njihovu pozornost, ne uivaju u itanju, koriste mimiku, mau rukama, imaju neitak rukopis,
dobro se orijentiraju u prostoru, rado ue pomou raunala, vrlo su otvorene osobe
Stilovi uenja po Davidu Kolbu: (Ameriki metodiar i pedagog roen 1939.g.)
- Aktivisti uivaju u stjecanju novih iskustava. Ue kroz eksperiment i aktivno sudjeluju u
procesu uenja. Manje ih zanima to se dogodilo u prolosti, primarno ih zanima to se dogaa
upravo sada i ovdje. Vole "misliti u hodu", uiti u kraim intervalima. Vole sudjelovati i
zabavljati se.
- Mislioci (reflektori) u mislima reflektiraju informacije prije akcije. Ue iz tuih iskustava.
Ne vole da ih se pouruje. Vole temeljitu pripremu, istraivanje i procjenjivanje, te donoenje
odluka kada to njima odgovara.
17
18
19
otvorena nastava,
projektna nastava,
praktino uenje,
otkrivajue uenje ,
problemska nastava,
generiko uenje i
gestalt pedagogija
Provjeravamo
postavljene hipoteze i
stvaramo novo
iskustvo.
aktivno
eksperimentiranje
refleksivno
promatranje
Preispitujemo
konkretno
iskustvo.
apstraktna
konceptualizacija
U nastavi okrenutoj iskustvu uenje predstavlja proces, a ne rezultat. Ono nikada ne poinje od
poetka, nego se zasniva na uenikim prethodnim iskustvima i idejama koje se povezuju s
21
novim idejama. Tako, uenje predstavlja rjeavanje sukoba izmeu razliitih suprotstavljenih
pristupa, jer bi konflikti i neslaganja trebali djelovati poticajno na uenje.
Uenje nije samo kognitivni proces, ve je ono obuhvaa sve vane funkcije, kao to su:
miljenje, osjeaje, opaanje i djelovanje. Uenje je rezultat meudjelovanja osobe i okoline,
gdje se nova iskustva prilagoavaju postojeim konceptima.
Praktino pouavanje zasniva se na ideji vrste povezanosti misaonog i praktinog rada.
Ovakav oblik pouavanja i uenja ima sekundarno obrazovno znaenje. Ovaj model ukljuuje
unutranju motivaciju, odvija se na praktinim problemima, a zahtijeva kritiko i kreativno
miljenje. Praktino se pouavanje odvija kroz etiri faze:
-
praktino razmiljanje
akcija
osmiljavanje
2.1
Problemska nastava
23
Kroz ovaj korak oni postavljaju hipoteze, odreuju to se promatra, a nakon prikupljanja bitnih
podataka vre verifikaciju svojih hipoteza.
Trei korak predstavlja zakljuak koji proizlazi iz prethodna dva koraka. Ovdje je vano
naglasiti da kod donoenja zakljuaka ono to uitelj vidi kao jasan i oigledan zakljuak ne
znai da to isto vidi i uenik. Svatko upravlja svojim miljenjem, pa je konano rjeenje
problema intelektualni zajedniki proizvod poetnika i strunjaka. Ono je odgovor na
problemsko pitanje i verifikacija postavljene hipoteze.
U praksi moemo, s pedagokog i metodikog aspekta, problemski orijentiranu nastavu
realizirati na vie naina, a zavisno i od toga to izlaemo.
Potrebno je povezati sve dijelove, sa polaznom idejom, te uspostaviti to ire i to raznolikije
veze.
Zadatak uitelja je prvenstveno ralanjivanje i generalizacija, zatim usporeivanje pojava i
procesa, te poticanje stjecanja samostalnih saznanja primjenjujui i induktivni i deduktivni put.
Iz psihologije obrazovanja poznato je da predavanje mora biti sustavno, pregledno i ne
predugo, jer mu u suprotnom opada efikasnost.
Prema nekim istraivanjima (Love 1983.) mozak funkcionira kroz tri koraka : traenje i
predstavljanje konteksta, sreivanje detalja i informacija, te donoenje odluke, evaluaciju i
zakljuivanje.
U skladu s tim ponekad dobro postavljeno pitanje uenicima moe pobuditi ueniku znatielju
i potaknuti ih na rjeavanje problema, bolje nego opirno objanjavanje nastavnika.
Neka istraivanja su pokazala da se najbolje ue sadraji sa poetka i kraja predavanja, pa je
tako potrebno sredinu predavanja uiniti zanimljivom. Trebalo bi i izbjegavati davanje gotovih
odgovora, pri tome uvaavati razlike u tempu usvajanja gradiva i irini gradiva.
U problemski orijentiranoj nastavi zahtijeva se visoki stupanj primjene znanja, a od uenika se
trai to vea aktivnost i angairanost, ukljuuje se primjena koritenja poznatih algoritama za
rjeavanje problema u skladu s njihovim znanjima i sposobnostima.
U suprotnom bi moglo imati obrnuti efekt.
Da bi se zadatak uspjeno rijeio potrebna je poveana aktivnost. U sluaju sloenijeg
problema, problem se ralanjuje u vie uzajamno povezanih faza, tako da se, rjeavajui
redom, problem rjeava postupno korak po korak.
24
2.2
Programirana nastava
Burrhus Frederic Skinner (20.3.904 18.8.1990.) bio je Ameriki psiholog, filozof i didaktiar, biheviorist.
25
pojaava motivaciju i elju da se svaki zadatak dobro rijei. Na vii nivo rjeavanja zadataka ne
moe se prei ukoliko se nije uspjeno rijeilo ono prethodno.
Prednost ovakve metode pouavanja je u tome to svaki uenik, u skladu sa svojim
sposobnostima i brzini usvajanja gradiva, moe dalje napredovati. Nastavnik nadzire uenike i
daje upute, a po potrebi pomo. Nastava je na ovakav nain individualizirana tj. prilagoena
sposobnostima svakog pojedinca.
Da bi to bilo izvedivo stvaraju se programirani udbenici pomou kojih je mogue samostalno
uiti putem raunala ili on-line.
Nedostatci ove metode pouavanja ogledaju se tome to je smanjena odgojna komponenta,
koncentracija moe popustiti, pa se neka znanja mogu usvojiti povrno. Priprema nastavnika je
vrlo zahtjevna, a materijali za ovakvu nastavu moraju biti veoma dobro i kvalitetno
pripremljeni. Najee su u upotrebi dva modela ovakvog izvoenja nastave: linearni i
razgranati.
Linearni model je potpuno definiran redoslijedom, dok razgranati model omoguuje
preskakanje nekih nastavnih jedinica ukoliko je uenik neto brzo usvojio. Postoji jo
adaptivno pouavanje, algoritmiko generiranje upita, razne simulacije, nadzori odreenih
procesa uenja itd.
Danas je ovakav vid obrazovanja veoma pogodan za obrazovanje na daljinu. (npr. Uenici u
udaljenim i izoliranim krajevima, i slabo naseljenim podrujima i otocima)
E uenje ili obrazovanje je izvoenje obrazovanja pomou raunala, te informacijske i
komunikacijske tehnologije.Razlikujemo sinkrono e-uenje (istovremena prisutnost uitelja i
uenika) i asinhrono uenje (Uz pomo Interneta dostupno bilo kada; uenik i uitelj ne
moraju istovremeno komunicirati). Danas ovakve oblike uenja primjenjujemo kod razliitih
vrsta poduka, uz prirunike (npr. ECDL kurs kroz 7 modula razliitih nivoa), razne obrazovne
igre, modeliranje i simulaciju, multimediju i sl.
2.3
Znakovna skala
2.
3.
Rjeavanje problema
27
PRAGMATIKA
SEMANTIKA
SINTAKSA
slika 10. Model pouavanja Znakovna skala.
4.Kreiranje programa
3.Mijenjanje programa
2.itanje programa
1.Pokretanje programa
slika 11. Model pouavanja Sustav spoznajnih ciljeva.
28
razumijevanje
oblikovanje
pisanje
pregled
Ovaj je model slian kombinaciji prvog i drugog modela. On omoguuje da se uoe veze
uenja i pouavanja tj. veza ciljeva uenja s pouavanjem.
Konano se zakljuilo da studenti poinju uiti programiranje na etiri naina:
-
Dok se ne poznaju dijelovi od kojih je program sastavljen i naini na koji se oni spajaju,
uenici ne mogu programirati. ( U poetku se javljaju superbug-ovi, zato jer koriste govorni
jezik pri pisanju koda.)
Iz toga moemo zakljuiti da je prvi korak u uenju programiranja prijelaz sa ljudskog naina
razmiljanja na uenje programskih koncepata.
Drugi problem predstavlja spajanje dijelova koda, pa prema tome nedostaje jo jedan korak
izmeu razumijevanja programskih koncepata i vjetine kodiranja.
Zbog to boljeg razumijevanja programa, te komunikacije i programera i korisnika predlae se
stepenasti model uenja programiranja. (Slika 12).
.
29
Programski koncepti
Specificiranje,kodiranje,testiranje
Komunikacija sa programerima
Komunikacija sa korisnicima
30
Niklaus E. Wirth (roen 15.02..1934.) je vicarski raunarlni znanstvenik, poznat po dizajniranju vie programskih jezika: Euler, Algol W,
Pascal, Modula, Modula-2 te Oberon. Godine 1994. dobio je Turingovu nagradu za razvijanje niza inovativnih raunalnih jezika.
31
label ---;
( *deklaracija labela *)
const ---;
(* deklaracija konstanti *)
type ---;
(* deklaracija tipova *)
var ---;
(* deklaracija varijabli *)
begin
naredbe;
end.
blok
naredbe
function ---;
Opis podataka
zaglavlje
(* kraj programa *)
Zaglavlje zapoinje rezerviranom rijei program . U bloku su sadrani dio za opis podataka i
dio za naredbe. Prilikom opisa podataka deklariramo sve ono to emo koristiti u programu.
Nakon deklaracije varijabli slijedi blok naredbi. On predstavlja pravi izvrni kod programa.
Poinje rezerviranom rijei begin, a zavrava sa end.
Primjer:
program vjezba;
var x,y,z: tip_podataka:
begin
32
naredba:1;
naredba_2;
naredba_n;
end.
33
ime_varijable : integer;
U zavisnosti od tipa raunala i Pascal prevodioca skup cjelobrojnih tipova moe se prikazati
slijedeom tablicom:
Tip podataka
Opseg
Broj bitova
integer
-32768 do 32767
16
shortint
-128 do 127
longint
-2147483648 do 2147483647
32
byte
0 .. 255
word
0 .. 65535
16
zbrajanje +
oduzimanje -
mnoenje *
Standardne funkcije koje kao rezultat daju cjelobrojnu vrijednost su: abs(i) apsolutna
vrijednost, sqr(i) kvadrat, succ(i) sljedbenik, pred(i) prethodnik, trunc(x) cijeli dio
realnog broja, round(x) zaokruuje x na najblii cijeli broj, random (i:word) generira
sluajni broj vei od nule ili jednak nuli ili manji od i.
Realni tip - real
Varijabla realnog tipa deklarira se na slijedei nain:
var
ime_varijable : real;
Opseg
Broj bajtova
real
2.9e-39..1.7e38
single
1.5e-45..3.4e38
34
double
5.0e-324..1.7e308
extended
3.4e-4932..1.1e4932
10
comp
-9.2e18-9.2e18
zbrajanje +
oduzimanje -
mnoenje *
dijeljenje /
Standardne funkcije koje kao rezultat daju realni tip podataka su: abs(x) apsolutna vrijednost,
sqr(x) kvadrat, sin(x), cos(x) trigonometrijske funkcije sinus i kosinus arctan(y) arkus
tangens, ln(x) prirodni logaritam, exp(x) - eksponencijalna funkcija ,sqrtn(x) drugi korijen
(x>0), int(x) daje cjelobrojni dio od x, frac(x) daje decimalni dio od x , random daje
realni broj vei ili jednak od 0, a manji od 1, pi sadri vrijednost .
Znakovni tip - char
Znak je element skupa slova abecede, razliitih simbola, brojki,i specijalnih znakova i
praznine. Niz znakova povezanih u jednu cjelinu zove se string.
Znakovni tip podataka u PASCALU je ureen skup dozvoljenih znakova.
Varijabla znakovnog tipa deklarira se na slijedei nain:
var
ime_varijable : char;
Znakovni tipovi podataka zauzimaju jedan bajt, a znakovne konstante piemo u jednostrukim
navodnicima, npr. 'a', '134', '*'.
Logiki tip - boolean
Podaci logikog tipa mogu poprimiti vrijednosti ili istina (true) ili la (false).
Varijabla logikog tipa deklarira se na slijedei nain:
var
ime_varijable : boolean;
35
and konjunkcija
or disjunkcija
not negacija
Standardne funkcije koje kao rezultat daju logike vrijednosti su: odd(x) vraa vrijednost
true ako je x neparan, inae false, eof(x) true, ako je kraj datoteke, eoln(x) vraa vrijednost
true ako je kraj linije datoteke. Upotreba relacijskih operatora kao rezultat daje logiki tip
podataka:
-
<> razliito
< manje
> vee
2.4.2.2 Izrazi
Izraz je bilo koja kombinacija simbola koja izraunava neku vrijednost, a sastoji se od
operanada meusobno povezanih operatorima. Operandi mogu biti varijable, konstante i poziv
funkcije, a operatori mogu biti osnovni, logiki i relacijski.
Prioriteti izvravanja su slijedei:
1. not
2. and * / div mod
3. or + 4. = > < >= <=
Postoje pravila koja se primjenjuju prilikom izraunavanja vrijednosti izraza, a to su:
1. Operacije se izvravaju prema prioritetu, a ako ima vie operacija istog prioriteta onda
se one izvravaju s lijeva na desno.
2. Ako su unutar izraza zagrade, onda se pravila prioriteta primjenjuju tako da se najprije
rjeava izraz u zagradi.
3. Ako u izrazu imamo i realne i cjelobrojne operande rezultat e biti realan
4. Sve varijable koje koristimo moraju biti definirane
5. Ne smijemo izostavljati operatore mnoenja (kao u matematici)
6. Dva operatora ne mogu biti jedan do drugoga
7. Zagrade moraju biti u paru (broj otvorenih zagrada = broju zatvorenih zagrada)
Primjeri izraza:
7.2 + 9*2
not(b<c)
36
19 mod 3 - 2
Naredba pridruivanja koristi se na slijedei nain:
ime_varijable : = izraz;
Primjeri naredbi pridruivanja:
a := sqrt (9*d*b);
b:= 6 + 9 * 18;
2.4.2.3
uitava n elemenata
readln;
37
Procedura za ispis podataka write koristi se za ispis niza proizvoljnih znakova unutar
jednostrukih navodnika, vrijednosti varijabli i vrijednosti izraza.
Postoji nekoliko oblika procedure write:
-
writeln;
Nabrojivi tip
Intervalni tip
Nabrojivi tip
Nabrojivi tip podataka je konaan ureen skup imena. Imena se navode u okruglim zagradama,
( ) a odvajaju se zarezom. Ta imena predstavljaju konstante nabrojivog tipa. Definicija u opem
obliku je:
ime_tipa = (ime1, ime2, ime3, , imen );
Istu konstantu ne moemo ponavljati u vie type definicija.
Npr.
type boje = (zuta, zelena, crvena plava);
38
Naredba case
Ova naredba se koristi za ispitivanje jedne varijable ili izraza. U zavisnosti od te vrijednosti
izvrit e se jedna ili niz naredbi.
Opi oblik naredbe case je:
case selektorski_izraz of
konstanta_1 : naredba_1;
konstanta2 : naredba_2;
. . .
konstanta_n : naredba:n;
end;
Naredba se izvrava na slijedei nain:
Najprije se izrauna selektorski_izraz, zatim se ta izraunata vrijednost usporeuje sa nizom
konstanti. Ako je jednaka jednoj od njih , onda se izvrava naredba ili niz naredbi koje su
dodijeljene toj konstanti.
Selektorski_izraz moe biti cjelobrojnog, znakovnog ili logikog tipa. Konstante moraju biti
istog tipa. Redoslijed konstanti nije bitan., ali se jedna konstanta moe pojaviti samo jednom.
Istu naredbu moemo dodijeliti veem broju konstanti, koje se onda odvajaju zarezom.
Konstanti moemo dodijeliti i sloenu naredbu.
40
do
41
Naredba while
Ako u zadatku ne moemo unaprijed odrediti broj ponavljanja , tj. Ako taj broj zavisi od
ispunjenja nekog uvjeta, koristimo naredbu while.
Kod naredbe while uvjet se ispituje na poetku i naredbe unutar while petlje se izvravaju sve
dok je uvjet ispunjen.
Opi oblici petlje while su:
1. while uvjet do
naredba;
2. while uvjet do begin
naredba_1;
naredba_2;
. . .
naredba_n;
end;
Naredba repeat
Ova se naredba koristi kada nam broj ponavljanja ovisi o ispunjenju nekog uvjeta. Uvjet se
ispituje na kraju, pa se naredba ili vie njih ponavljaju unutar petlje sve dok uvjet nije ispunjen.
Opi oblici naredbe repeat su:
1. repeat
naredba;
until uvjet;
2. repeat
naredba_1;
naredba_2;
naredba_3;
until uvjet;
2.4.2.7 Potprogrami
Potprogrami su zasebne cjeline nizova naredbi napisanih na jednom mjestu, koje moemo
pozivati proizvoljan broj puta. Izvrava se u onom trenutku kada je pozvan u programu.
Postoje dvije vrste potprograma: funkcije i procedure
42
43
44
45
46
Skupovi (set)
Rad sa skupovima u Pascalu je drugaiji nego u matematici, razlikuje se po oznakama , a broj
elemenata skupa je ogranien. Skup se zapisuje u uglatima zagradama, a njegovi elementi se
meusobno odvajaju zarezima.
Primjer skupova:
[uta, crvena, plava, zelena]
[1,2,3,4,5,6]
Skupovni tip podataka je skup svih podskupova nekog osnovnog tipa. Osnovni tip moe biti
bilo koji jednostavni tip, osim realnog, pod uvjetom da se cjelobrojni zadaje intervalom
navodei mu donju i gornju granicu, meusobno razdvojenu dvjema tokama.
Opi oblik deklaracije varijable skupovnog tipa je:
type ime_skup_tipa = set of osn_tip;
var ime_var : ime_skup_tipa;
ili
var ime_var : set of osn_tip;
Varijablama skupovnog tipa moemo naredbom dodjele pridruiti odgovarajuu vrijednost.
Nad varijablama i konstantama skupovnog tipa definirane su operacije:
- unije (+)
- presjeka (*)
- razlike (-)
Njihov rezultat je logikog tipa.
Nad varijablama i konstantama skupovnog tipa moemo primijeniti operacije:
-
jednakosti =
razliitosti <>
podskupa i <=
nadskupa >=
47
standardne datoteke
korisnike datoteke
Standardne datoteke su input (samo ulazna) i output (samo izlazna). Kod njih se znakovi
uitavaju redom i ne mogu se vratiti na prethodni podatak.
Npr.
read (input, ime1);
48
49
Naredbe koje omoguuju uitavanje podataka iz tekstualne datoteke su: Read, Write, Readln,
Writeln.
U tekstualnu datoteku upis moemo vriti na kraju u sluajevima:
- nakon otvaranja nove datoteke
- nakon svakog izvrenja naredbe write ili writeln
- ili ako elimo na kraj ve postojee datoteke dodati novi tekst
a sve to pomou naredbe Append:
Append (logiko_ime_datoteke);
Dodavanje teksta u tekstualnu datoteku vrimo pomou druge pomone datoteke ijim
sadrajem na kraju zamijenimo polaznu datoteku.
Brisanje dijela teksta u datoteci realiziramo pomou druge pomone datoteke
Preimenovanje i brisanje tekstualne datoteke (koja prethodno mora biti zatvorena) realiziramo
naredbama:
Za preimenovanje
Rename (logiko_ime, novo_fiziko_ime);
Za brisanje
Erase (logiko_ime);
Binarna datoteka:
U binarnim datotekama
Podaci su zapisani kao i u memoriji. Prilikom rada s tim podacima nema dodatnih
transformacija.
Kod deklaracije ove datoteke potrebno je navesti kojeg e tipa biti komponente datoteke.
Postupci za rad s binarnim datotekama istovjetni su kao oni za rad s tekstualnim, osim readln ,
writeln, eoln.
Opi oblik deklaracije varijable datotenog tipa je:
var ime_datoteke: file of ime_tipa_komponenti;
50
51
52
Primjer 1:
Zadatak: Raunanje s matricama
53
Program Ispis;
var i,j,m,n:integer;
a:array[1..10,1..10] of integer;
begin
write('Unesi broj redaka matrice: ');
readln(n);
write('Unesi broj stupaca matrice: ');
readln(m);
writeln('Unesi Matricu');
writeln;
for i:=1 to n do
for j:=1 to m do
begin
write('a[',i,',',j,']=');
readln (a[i,j]);
end;
writeln;
for i:=1 to n do
begin
for j:=1 to m do
write(a[i,j]:4);
writeln;
writeln;
end;
readln;
end.
54
program Mnozenje;
var i,j,n,m,k: integer;
A:array[1..10, 1..10] of integer;
begin
write ('Unesi broj redaka matrice - n : ');
readln(n);
writeln;
write ('Unesi broj stupaca matrice - m :');
readln(m);
writeln;
for i:=1 to n do
for j:=1 to m do
begin
write ('A[',i,',',j,']=');
readln (A[i,j]);
end;
writeln;
write ('unesi broj k: ');
readln (k);
writeln;
for i:=1 to n do
begin
for j:=1 to m do
begin
A[i,j]:=A[i,j]*k;
write(A[i,j]:4);
end;
writeln;
end;
readln;
end.
slika 15. Program Mnozenje koji uitava zadanu matricu i mnoi je prirodnim brojem
Nakon uitavanja testnih podataka rezultat je:
55
56
(A)ij = (A)ij ,
tj. matricu mnoimo skalarom tako da svaki njen element pomnoimo tim skalarom.
2. Mnoenje dviju matrica nije definirano za bilo koje dvije matrice. Vano je naglasiti
slijedee:
- da bi se mogle pomnoiti matrice A i B, tj. da bismo izraunali umnoak A*B,
navedene matrice moraju biti ulanane, a to znai da broj stupaca prve matrice mora biti
jednak broju redaka druge matrice. Tako, npr. Ako je matrica A formata mxn, onda matrica B
mora biti formata nxk.
- mnoenje matrica nije komutativno
3. Ako je A=(aij) matrica formata mxn, a B = (bij) matrica formata nxk, onda je opi
element umnoka AxB definiran formulom:
[AxB]ij = ai1b1j + ai1b1j + ai2b2j +... + ainbnj =
n
ip
b pj
p=1
( AB )ij = [ ai1
ai 2
b1 j
b
2j
... ain ] .
..
bnj
Rezultat ovakvog mnoenja matrica, daje nam matricu koja ima isti broj redaka kao
matrica A, a isti broj stupaca kao matrica B.
Npr.
1 2
1 2 3
22 28
4 5 6 . 3 4 = 49 64
5 6
57
2. Rjeavanje problema:
Problem se ralanjuje na manje dijelove - korake, koji e rjeavati (kodirati) dio po
dio. To je ujedno postupak rjeavanja problema.
U programiranju izraujemo algoritamsku strukturu, koja nam reprezentira tok
izvrenja programa: ulaz podataka, proces ili obrada, te izlaz podataka.
Koristimo poznate module (alate) uitavanja i ispisa matrice. Primjenjujemo
matematika znanja i vjetine, te znanja i vjetine programiranja. Budui da didaktiki
pristup Znakovna skala zahtijeva prethodno usvajanje sintakse i semantike
programskog jezika pretpostavljamo da uenici to znaju.
Naglaavamo da je to samo jedan od naina rjeavanja ovog problema, a da se on moe
rijeiti i drugaije.
Nakon toga vrimo testiranje programa testnim podacima koje smo prije toga provjerili
58
program mno_mat;
var i,j,k,l,n,m:integer;
a,b,c:array[1..10,1..10] of integer;
begin
write('Unesi broj redaka matrice A : ');
readln(m);
writeln;
write('Unesi broj stupaca matrice A i redaka matrice B: ');
readln(n);
writeln;
write('Unesi broj stupaca matrice B: ');
readln(k);
writeln;
writeln('Unesi matricu A ');
writeln;
for i:=1 to m do
for j:=1 to n do
begin
write('a[',i,',',j,']=');
readln(a[i,j]);
end;
writeln;
writeln('Unesi matricu B ');
writeln;
for i:=1 to n do
for j:=1 to k do
begin
write('b[',i,',',j,']=');
readln(b[i,j]);
end;
writeln;
writeln(' matrica A je:');
writeln;
for i:=1 to m do
begin
for j:=1 to n do
begin
write(a[i,j]:4);
end;
writeln;
end;
writeln;
writeln(' matrica B je:');
writeln;
for i:=1 to n do
begin
for j:=1to k do
begin
write(b[i,j]:4);
end;
writeln;
end;
writeln;
writeln(' A * B je:');
writeln;
begin
for i:=1 to m do
for j:=1 to k do
begin
c[i,j]:=0;
for l:=1 to n do
c[i,j]:=c[i,j]+a[i,l]*b[l,j];
end;
end;
for i:=1 to m do
begin
for j:=1 to k do
write (c[i,j]:4);
writeln;
end;
readln;
end.
slika 17. Program mno_mat koji mnoi dvije matrice i kao rezultat daje treu
59
3. Zakljuak
Program smo testirali i utvrdili da radi ispravno. Koristili smo poznate dijelove programa i
povezali ih u novu cjelinu.
60
Primjer 2:
Zadatak: Raunanje s matricama
Zadatak:
3
Joseph Bergin, profesor raunalnih znanosti i tvorac pedagokih obrazaca primijenjenih u pouavanju programiranja, na sveuilitu
Seidenberg School of Computer Science and Information Systems, Pace University , New York [21]
61
izmjenama, gdje oni, trebaju samostalno rijeiti problem. Kada su sposobni napraviti izmjene
koje se od njih trae, tada im se zadaje zadatak da sami i kreiraju neki novi, slini program.Uz
ovakav didaktiki pristup moemo koristiti pedagoki obrazac "Spiral" koji se odnosi na
nastavu u kojoj se veliki broj koncepata mora obraditi zajedno, a gdje su teme uzajamno
povezane. Ako uenici ve imaju neko prethodno znanje, nastavu trebamo uiniti
dinaminijom i zanimljivijom, a ne ii previe u detalje koji su od prije poznati. Nastavu je
potrebno dobro isplanirati, tako da da se ide od jednostavnijih primjera ka sloenijima.
Primjena pedagokog obrasca "Gold Star" oituje se u tome da se uenici nagrade i pohvale za
sve ono to dobro naprave. Dobre ocjene su veliki prvi motivator uenicima, te im ulijevaju
samopouzdanje. Za sve to dobro urade potrebno ih je i pohvaliti i ohrabriti. Pohvala pozitivno
djeluje i na mlae i na starije uenike, a trebalo bi je koristiti u svim teajevima i na svim
razinama.
Rjeavanje problema
Za rjeavanje problema potrebno je koritenje apstrakcija, te je neophodno osigurati alate koji
e im u tome pomoi. Idealni nastavni sadraj raunalnih znanosti bi trebao uenike nauiti
osnovnim konceptima raunalnih znanosti zasnovanim na matematikim temeljima te razviti
sposobnost koritenja tih koncepata u analizama i razvoju software-a.
62
Programiranje potie uenike da procjenjuju svoja rjeenja i proces razmiljanja, pa zato ovaj
misaoni proces doputa uenicima da pretvore usvojene vjetine rjeavanja problema u rijeene
problemske situacije. Koji god pristup rjeavanju problema odabrali, poznato je da je
rjeavanje problema neophodan i prvi korak u razvoju software-a.
Implementacija
Implementacijska faza podrazumijeva pravilno pisanje rijei za predloeno rjeenje u
specifinom programskom jeziku, izvravanje i debagiranje koda u specifinom okruenju.
Za uspjeno ostvarivanje ove potrebno je svladati nekoliko podruja:
Konstrukcija programa
Zadatak
Sloeni tipovi podataka u programskom jeziku Pascal - Nizovi
pedagoki obrazac Fill in the blanks, gdje uenici mogu dopuniti odreene dijelove programa,
zatim Tool Box, gdje na poetku kreiraju neke programe i procedure koje e koristiti i kasnije,
te obrazac Spiral koji omoguuje da se bre i lake savladaju povezane teme.
63
1. Jednodimenzionalni nizovi
2. Pretraivanje i sortiranje nizova
3. Viedimenzionalni nizovi
(Uz pretpostavku da uenici ve poznaju osnove programskog jezika, strukturu programa,
tipove podataka, standardne procedure za uitavanje i ispis podataka, naredbe grananja,
ponavljanja, upotrebu potprograma)
U uvodnom dijelu definiramo karakteristike niza[7]:
Niz je ureen, ogranien skup varijabli za koje vrijedi:
Svaki niz ima svoje ime koje se odreuje na isti nain kao i ime jednostavne
varijable
Ime elemenata niza sastoji se od imena niza i indeksa koji se navodi unutar
uglatih zagrada. Svaka se komponenta moe shvatiti kao zasebna varijabla.
64
Pretpostavimo da treba izraunati prosjenu ocjenu 30 uenika jednog razreda, i ispisati sve
ocjene koje su manje od prosjene:
Definiramo varijable ocjena i prosjek:
var
ocjena, prosjek: real;
:
:
Dio programa u kojem uitavamo ocjene i raunamo prosjek izgleda ovako:
for i:=1 to 30 do
begin
write ('ucitaj ocjene', i, 'ucenika');
readln (ocjena);
prosjek := prosjek + ocjena;
end;
prosjek := prosjek / 30;
:
:
Nakon izvrenja ovog programa, kao izlazni rezultat dobijemo prosjenu ocjenu, ali ne
moemo dobiti sve unesene ocjene. Ovakav nain unosa podataka je vrlo nepraktian,
pogotovo kod unosa veeg broja podataka, pa zbog lakeg rada sa ovakvim podacima
koristimo nizove
65
jednake moemo primijeniti i naredbu dodjele. Ako su komponente niza znakovnog tipa, onda
im moemo dodijeliti proizvoljan niz znakova unutar jednostrukih navodnika.
Kada smo to definirali prelazimo na primjere ispravnih i neispravnih naredbi dodjele:
var
brojevi, x : array [-3 .. 3] of integer;
znakovi : array [1 .. 6] of char;
j : -1 .. 2;
brojevi [20] : = 33 ;
x : = j;
66
var
brojevi, x : array [-3 .. 3] of integer;
znakovi : array [1 .. 5] of char;
j : -1 .. 2;
Koje su od sljedeih naredbi dodjele pravilne, a koje nisu. Ako nisu objasni
zato!?
brojevi [j + 1] : = 33 ; _________
_________________________________
brojevi [j / 2] : = 33 ; _________
_________________________________
brojevi [j - 3] : = 33 ; _________
_________________________________
znakovi : = 'Yorkie' ;
_______
_________________________________
_________________________________
znakovi : = 'Ana' ;
_________________________________
_________
Sada se vri provjera ispravnosti rjeenja. Tek nakon uspjeno rijeenog zadatka moe se
prijei na novi .
Rjeenja za ovaj primjer bila bi:
67
var
brojevi, x : array [-3 .. 3] of integer;
znakovi : array [1 .. 5] of char;
j : -1 .. 2;
Koje su od sljedeih naredbi dodjele pravilne, a koje nisu. Ako nisu objasni
zato!?
brojevi [j + 1] : = 33 ; ispravno
_________________________________
brojevi [j / 2] : = 33 ; neispravno
brojevi [j - 3] : = 33 ; neispravno
_________________________________
znakovi : = 'Ana' ;
neispravno
68
1. primjer
1. primjer
const n = 50;
var
var
2. primjer
2. primjer
var
var
3. primjer
var
var
Nakon uspjenog rjeenja prethodnih zadataka prelazimo na novu nastavnu jedinicu, a to je:
69
Program upis_ispis;
var n, i : integer;
niz: array [1..20] of integer;
begin
write (' upisite broj elemenata niza: ');
readln (n);
writeln;
for i:= 1 to n do
begin
write ('upisite ', i, '. element niza: ');
readln (niz[i]);
end;
writeln;
for i:=1 to n do
writeln (i, '. komponenta niza je: ', niz[i]);
readln;
end.
1. element niza: 12
2. element niza: 13
3. element niza: 14
4. element niza: 15
5. element niza: 4
6. element niza: 5
7. element niza: 6
8. element niza: 7
9. element niza: 25
70
Uitati prirodni broj n ( n<20 ), ispisati zadani niz i kvadrate elemenata niza. Rjeenje
usporediti sa rjeenjima test-primjera.
slika 28. Program koji ispisuje uitani niz i kvadrate njegovih elemenata
71
Kada se uspjeno rijeio zadatak, prelazimo na novu nastavnu jedinicu, jednu razinu vie, i
pokazujemo kako se trai najmanji i najvei element uitanog niza, te kako niz sortirati
uzlazno
.
Pokazujemo slijedei primjer:
program nizovi_2;
var i,n,max,min,p:integer;
a:array[1..100] of integer;
begin
write('unesi broj elemenata niza ');
readln (n);
for i:=1 to n do
begin
write ('a[',i,']=');
readln(a[i]);
end;
max:=a[1];
min:=a[1];
for i:=1 to n do
begin
if a[i]>max then
max:=a[i];
if a[i]<min then
min:=a[i];
end;
writeln('Najveci element niza je ',max,' a najmanji ', min);
readln;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[i]>a[j] then
begin
p:=a[i];
a[i]:=a[j];
a[j]:=p;
end;
writeln('Sortirani niz je: ');
for i:=to n do
write(a[i], ' ' );
readln;
end.
slika 29. Program kojiza uitani niz ispisuje max, min i sortira ga uzlazno
72
Zadatak
Sloeni tipovi podataka u programskom jeziku Pascal - Nizovi
73
prijee na rjeavanje zadataka neke nastavne cjeline, a da se nisu nuno "prouile" sve
nastavne jedinice, koje su prethodile zadatku. Tek uspjenim rjeavanjem izabranog zadatka
moglo bi se pristupiti izboru novog zadatka, u suprotnom bi se trebalo vratiti na potpuno
prouavanje prethodne nastavne jedinice. Berginov obrazac "Tool Box", bi omoguio da se
uvijek prethodno steeno znanje koristi u novim nastavnim sadrajima, obrazac "Spiral", da
produbljujemo znanje loginim redoslijedom (u dubinu), te da povezujemo nastavne teme.
Obrazac "Goldstar" bi trebao uenicima dati poticaj, tako da dobiju pohvalu za svaki ispravno
rijeen zadatak. Didaktiki pristup, kao jedan od moguih pristupa, pretpostavlja da su uenici
savladali elemente i sintaksu programskog jezika u kojem programiraju, zatim semantiku, a
nakon toga slijedi kreiranje programa.
Jedan dio ovog modela bi smo mogli jednostavno prikazati jednim dijagramom:
74
IZABRANA
NASTAVNA JEDINICA
DA
MODULI
TEORIJE
ELITE LI
TEORETSKI
DIO?
NE
ELITE LI
PRIMJERE?
DA
MODULI S
PRIMJERIMA I
TEST PODACIMA
NE
1
RJEAVANJE
ZADATAKA
DA
ZADATAK
NE
USPJENO
RIJEEN
ZADATAK
DA
NE
POHVALA
IZLAZ IZ OVE
NASTAVNE JEDINICE
DA
ELITE
POKUATI
PONOVO?
75
3 KATEGORIZACIJA PRISTUPA
Prethodno navedeni didaktiki pristupi mogu se realizirati uz pomo alata za pouavanje
programiranja, pa ih tako moemo kategorizirati i na sljedei nain:
Predavanja i vjebe
Vizualizacija software-a
Vizualizacija programa
Animacija algoritama
Vizualno programiranje
Roboti
Uenje zasnovano na problemima
Kognitivno tutorstvo programirana nastava
Ostalo
76
Preuranjenu kompleksnost
Preuranjenu apstraktnost
Tradicionalni pristup namee neka pravila koja ograniavaju prirodne vjetine rjeavanja
problema.
Ipak, ovaj pristup je i dalje najraireniji, a neto inovativniji predavai nastoje integrirati u
njega nove alate i tehnike s ciljem da unaprijede ueniko iskustvo uenja.
3.2
Vizualizacija software-a
Vizualizacija programa
Ona je usmjerena je na razumijevanje koda. Fokusira se na grafikim predstavljanjima.
Animacija algoritma
Pokazuje osnovne operacije nekog algoritma.
Vizualno programiranje
Koristi vizualne komponente za izradu programa.
Programiranje demonstracijom
Ovi sustavi su vie u podruju umjetne inteligencije i programskih jezika gdje se
Raunska vizualizacija
Bavi se prikazom statistikih podataka u obliku dijagrama.
77
Ovi alati imaju niz prednosti nad tradicionalnim nainima uenja programiranja, a to su:
Predavai mogu obraditi vie materijala u manje vremena jer su prezentacije jasnije
Koritenje slika i animacija kao edukacijska pomo je danas prihvaena praksa. Vizualizacije
se koriste da razjasne kompleksne koncepte i da omogue uenicima da razviju mentalne
modele o koracima koji se odvijaju u programu. Uenici imaju razliite stilove uenja, a veina
njih najbolje razmilja vizualno. Cilj uspjene vizualizacije je da razviju alate koje uenici
mogu kontrolirati, koji aktivno ukljuuju uenika i koji daju odmah povratnu informaciju. Ovi
ciljevi se poklapaju s principima konstruktivizma, za kojeg je znanje aktivno stvarano od strane
studenta, a ne pasivno apsorbirano iz knjiga i predavanja.
Alice
Alice je 3-D objektno-orijentirano interaktivno okruenje, namijenjeno Windows operativnim
sustavima, za animiranje i grafiki prikaz stanja programa. Baziran je na Java programskom
jeziku i u prvom redu slui za kreiranje 3D animacija objekata vlastitog virtualnog svijeta. Na
taj nain pomae poetnicima u uenju stvaranja i debagiranja programa. Alice je nastala na
Carnegie Mellon University, pod vodstvom Randy Pauscha, a osnovna ideja razvoja ovakvog
programskog okruenja bilo je pribliiti svijet programiranja poetnicima. ( Alice je dostupna
na adresi www.alice.org)
78
Kako bi se izbjeglo zamorno upisivanje koda i pritom zbunjujue debagiranje pri nastajanju
pogreki u kodu, tvorci ovog programa omoguili su korisniku programiranje na principu
prijenosa elemenata ( engl. Drag-and-drop) iz ve postojeih baza.
Najvea pomo pri programiranju, u Alice programskom okruenju, su predloci za
uenje (engl. Tutorial).
79
Takoer, postoje primjeri ve gotovih programa koji potiu kreativnost kod korisnika pri
razvoju Alice virtualnog svijeta.
Alice se u prvom redu bavi animiranjem 3-D objekata i njihovim ponaanjem u malom
virtualnom svijetu. Za vrijeme izvravanja programa nastali objekt se pokree naredbama s
mia ili tastature. Naredbe mogu biti one za pomicanje objekata ili njegove fizike promjene,
kao to su: pomicanje, rotacija ili unitenje objekta. Mogu se napraviti petlje i nizovi naredbi,
npr. programirati zeia da skakue dio puta postajui pritom nevidljiv i vidljiv. Alice
podrava funkcije, koje se najee koriste u rekurzijama, petljama, implementaciji interakcija
putem dogaaja, odluke.
Uvoenjem i koritenjem Alice pokazalo se da je poetnicima tipkanje teko tj. da poetnici
cijene kontrole miem i dijaloge, a problemi u 3-D percepciji su manji tj. mali postotak ih ima
problema sa dubinom objekta.
80
JKarelRobot
Ovaj alat nastao je irenjem koncepta programa Karel the Robot, kojeg su 2001. g. razvili Buck
i Stucki.
Karelov svijet je vrlo jednostavan; robot se kree ulicama (plava strelica u donjem lijevom
uglu), skuplja novie (engl. Beepers), nailazi na zidove i zaobilazi ih. Korisnici u vrlo
jednostavnom okruenju daju naredbe Karelu, postavljaju zidove i premjetaju ih uei tako
osnovne principe proceduralnog programiranja, ali i osnove objektno-orijentiranog pristupa,
to je jedna od glavnih prednosti ovog alata.
Autori su animirali Karelove korake i objekte da budu to polaganiji tako da korisnik moe
vidjeti robotove akcije, a ne samo poetak i kraj instrukcije.
JkarelRobot - Svijet
Pri samom pokretanju ovog programa, JkarelRobot programsko okruenje nam nudi Svijet u
kojem postavljamo samog robota (strelicu koja se nalazi u donjem lijevom uglu prozora),
zidove (klikom na bijeli kvadrati izmeu dva siva), novie (postavljajui zeleni kvadrati
na bijelo polje i u kutu Corner Beepers unosimo koliko novia elimo na tom polju).
81
82
JkarelRobot Program
Prije samog unosa programa potrebno je oznaiti u kojem programskom jeziku emo pisati
kd za JkarelRobot. Nakon toga kliknemo dugme ''New'' kako bi nam JKarelRobot
kreirao poetak i kraj programa te poetak i kraj kda za izvrenje (kao to je prikazano na
slici). Nakon to smo unijeli kdove potrebno je kompajlirati program pritiskom na dugme
JkarelRobot Izvrenje
Nakon to smo unijeli kd programa i kompajlirali program, moemo krenuti na izvrenje
koda. To radimo klikom na dugme ''Execute''
83
Nakon to smo kliknuli na dugme za incijaciju programskog kda, s lijeve strane prozora
moemo vidjeti kompajlirani kd programa, a s desne prozor u kojem se prikazuje JkarelRobot
svijet. Veoma je vano to korisnik moe istovremeno promatrati pokretanje robota po
zadanom svijetu kao i to koji se kd upravo izvrava, a ako je sintaksa naredbe netona
studentu se daje povratna informacija.
Autori su animirali Karel-ove korake i okrete da budu to polaganiji tako da studenti mogu
vidjeti robotove akcije, a ne samo poetak i kraj instrukcije.
Buck i Stucki su dodali Boolean logiku i procedure i planiraju u budunosti ukljuiti
rekurzije.i. Autori vjeruju da Bloom-ova taksonomija omoguuje osnove za to efikasniju
pedagogiju posebno u prepoznavanju tema, vjebi i postignua.
Materijali o Karelu su dostupni na adresi: http://math.otterbein.edu/JKarelRobot
84
Imaju mogunost mijenjati kod i brzo vidjeti animirane rezultate, odravati interakciju i
uiniti program jednostavnim za debugiranje.
Uenici mogu vidjeti poloaje u 3-D svijetu i olakan je nain shvaanja lokacije i
orijentacije objekata u svijetu.
85
apstrakcije se takoer mogu birati. Nivo interakcije korisnika definiraju programeri, a moe ii
od pasivnog korisnika da visokog stupnja interakcije. Prvi alat za vizualizaciju algoritma,
BALSA, je razvio Mark Brown u ranim osamdesetima, i svi alati s idejom vizualizacije
programa su potekli od njega. Animacije algoritama sortiranja seu nazad u 1981 kada je video
Sorting out Sorting prikazan na SIGGRAPH. Pokazani su razliiti algoritmi sortiranja da
pomognu studentima razumjeti nain na koji rade te da ih mogu usporediti jedan s drugim.
Od tada je razvijeno mnogo sustava za animaciju algoritama.
Na poetnoj stranici nalazi se izbor razliitih vrsta animacije algoritama sortiranja nizova,
pretraivanja i sortiranja binarnih stabala i grafikih prikaza.
Odabirom npr. jedne metode sortiranja, u ovom sluaju, quick sort dobivamo nesortirani niz.
Moemo odabrati elimo li pogledati demonstraciju primjera, ili elimo sortirati sami. Ukoliko
pogrijeimo, dobivamo informaciju o tome i mogunost da to uinimo ispravno.
86
Na svakom dugmetu (funkciji) postoji pomo koja nam objanjava to i kako pojedina
funkcija radi.Ukoliko elimo moemo pratiti sortiranje korak po korak, pritiskom na dugme
step. Nesortirani elementi niza obojani su plavom bojom, a oni sortirani crvenom.
Nakon niza koraka, koje vizualno pratimo, vidimo kako algoritam radi i konano , dobivamo
sortirani niz.
87
88
89
90
Ovako bi izgledali koraci animacije algoritma bubble sorta. Sa desne strane nalazi se
programski kod na kojem je crvenom bojom naglaena instrukcija koja se trenutno izvodi.
Moemo dobiti i informaciju o tome kako taj algoritam radi pritiskom na tipku Info:
91
92
Neki alati omoguuju vraanje koraka unatrag, pa ukoliko neni kokrak nije jasan, moe
se ponovo analizirati
http://www.solidware.com/sort/
http://cg.scs.carleton.ca/~morin/misc/sortalg/
http://homepages.dcc.ufmg.br/~dorgival/applets/SortingPoints/SortingPoints.html
http://www.cs.fiu.edu/~weiss/Shellsort.html
http://www.educypedia.be/education/mathematicsjavasorting.htm
http://research.cs.queensu.ca/home/cisc121/
http://web.engr.oregonstate.edu/~minoura/cs162/javaProgs/sort/SelectSort.html
Visual Basic
Visual Basic je veoma popularan programski jezik u SAD-u, ali ne koristi se toliko esto u
procesu pouavanja . Kao razlog za to se navodi da je vie "temeljen na objektima" (objectbased) nego objektno-orijentiran, a i radi samo na Windows platformama. No iako ne moe
zamijeniti tradicionalne jezike, poput Jave ili C++, svi se slau da je vaan dio modernog
informatikog kurikuluma. Oni koji ga koriste pri pouavanju utvrdili se da mu se uenici vrlo
lako prilagoavaju i rado ga koriste, te uenici koji su se prije borili sa osnovnim pojmovima
programiranja sada su bili uspjeni pri koritenju Visual Basic-a.
93
3.3
Roboti
Istraivanja Marie Montessori4, koja smatra da djeca bre ue kroz prouavanja i istraivanja,
zatim Piageta koji argumentira da se znanje gradi kroz konkretne operacije i Paperta koji
sugerira da se apstraktno razmiljanje ne bi smjelo vidjeti kao neto superiorno nad
konkretnim, dovodi do zajednikog zalaganja za uenje kroz fiziku aktivnost, konkretno prije
apstraktnog. Te misli su prihvatili mnogi istraivai u svijetu raunarstva i iz tog razloga
konstruirali robote za poduavanje. Ideja potjee jo iz ezdesetih godina sa Karel the Robot.
Pokazalo se da je aktivno uenje u interakciji sa okruenjem, nasuprot predavanjima, mnogo
djelotvornije pri razvijanju uenikih sposobnosti stjecanja znanja.
Potiu kreativnost
Studenti mogu postavljati hipoteze te ih testirati, pri tom dobivaju odmah povratnu
poruku
MARIA MONTESSORI (1870 - 1952) prva ena lijenica u Italiji. Studirala je psihologiju, filozofiju i antropologiju. Montessori
sustav se zasniva na filozofiji razvoja djeteta prema kojoj pojedinac stjee operativna znanja u podrujima ivota u kojima e
sudjelovati kao odrasla osoba.
94
3.4
Kognitivno tutorstvo
Ovo je metoda koja ukljuuje promatranje radnji koje tutor (u ovom sluaju - profesor) obavlja,
i vjebu, Najprije uz pomo tutora, a kasnije samostalno. Metoda je karakterizirana injenicom
da se program odvija u socijalnom okruenju, pa se problemi se odabiru na pedagokim
osnovama. Uenje je naglaeno kontekstom materije koja se ui tako da se znanje moe
primijeniti u drugim podrujima. Na taj nain se ue procesi potrebni za uspjeno
programiranje. Tutor moe biti profesor u uionici, (bolje u to manjim grupama) ili virtualni
tutor. Razvojem web tehnologija inteligentno tutorstvo postaje sve rairenije i dostupnije.
Projekt na University of Nort London je usmjeren na razvoj skupa pedagokih tehnika za
uenje objektno orijentiranog programiranja i razvoj multimedijskog okruenja za uenje
baziranog na tim tehnikama. Ovaj pedagoki pristup za okruenje je baziran na
konstruktivizmu i kognitivnom tutorstvu. Boyle tvrdi da su dva znaajna izazova za uenike
objektno orijentiranog pristupa, apstrakcije i kompleksnost. Tvrdi da njegovo okruenje za
uenje pokuava savladati apstrakciju koristei konkretno vizualno predoavanje, a
kompleksnost se prevladava osiguravanjem mehanizama, asistenta koji osigurava strunu
pomo, upute ili demonstracije.
95
3.5 Ostalo
Postoji jo mnogo pristupa i pokuaja da se poduavanje programiranja uini to uspjenijim.
Svakodnevno se na razliitim sveuilitima razvijaju nove metode, kombiniraju rad u parovima
i grupama s brojnim alatima dostupnim na webu, ili se pak ti alati kombiniraju i usavravaju u
cilju prilagoavanja odreenoj grupi studenata. Treba uvijek imati na umu i da su studenti
razliiti, te da imaju razliite interese i ciljeve i da nee uvijek jedna metoda odgovarati svima.
96
97
Izgleda da se svi istraivai slau s tim da vizualizacije moraju biti interaktivne i treba biti
podrana sa to vie tekstualne dokumentacije, te da e one biti veoma vrijedne tek ako
studenti aktivno sudjeluju.
Naunici zagovaraju stav da se dinamike vizualizacije koriste to vie kao potpora uenju u
tipinoj razrednoj organizaciji nastave.
Nain na koji uenici koriste vizualizaciju se rangira od, ne koriste izravno vizualizaciju,
izgradnja vizualizacija za domai rad, kao alati dostupni za izgradnju vlastitih vizualizacija
gdje se nikoga ne pita da prezentira svoju vlastitu izgradnju. Najea uporaba vizualizacija,
prema jednom izvjetaju, utvruje da studenti gledaju vizualizaciju u razredu (90%), zatim
koritenje vizualizacije na vjebama (72%). Ova uporaba je uglavnom upotpunjena sa
pitanjima razreda (52%) i pisanjem otvorenog tipa eseja (45%). U nastavi dinamike
vizualizacije se najee koriste kod struktura podataka i u uvodnim kolegijima iz
programiranja. Istraivanja pokazuju koristi onih koji su iskusili rad s vizualizacijom.
98
5 ZAKLJUAK
U akademskoj zajednici vlada miljenje da je programiranje teko. Kako bi se to rijeilo,
istraivai trae alternativne pristupe tradicionalnom nainu pouavanja i koritenja predavanja
i vjebi za pouavanje programiranja. Istraivanja imaju pedagoku podlogu, razliite varijante
konstruktivizma. Nedostaju, ipak, konkretni dokazi o velikoj prednosti koritenja bilo kojeg
pojedinanog modela pouavanja. Jedino za vizualizaciju algoritama postoje empirijski dokazi
o veim efektima pouavanja.
Novi pristupi se uvode sporo, a planovi i programi se esto mijenjaju, pa moemo zakljuiti da
je potrebno izvjesno vrijeme da se nastavni program prilagodi novom pristupu.
Bez obzira na alat ili pristup koji emo koristiti prihvaeni su slijedei aspekti uinkovitog
alata ili pristupa:
Koritenje suradnje
99
LITERATURA
James
Madison University, Harrisonburg, VA ; Sue Fitzgerald - Metropolitan State University, St. Paul, MN; William Fone Staffordshire
University, Stafford, ST, United Kingdom ; John Hamer -University of Auckland, Auckland, New Zealand; Morten Lindholm - Aarhus
University, Aarhus, Denmark ; Robert McCartney- University of Connecticut, Storrs, CT;Jan Erik Mostrm - Ume University, Ume,
Sweden....,A
6.
Eileen Costelloe, Teaching Programming, The State of the Art, Departmen of Computing, Institute of
Technology Tallaght, Dublin 24.
7.
8.
Vesna Mesar, Predrag Broanac , Programiranje - zbirka zadataka u Pascalu, kolska knjiga, Zagreb, 200.
9.
Fourteen Pedagogical Patterns, Joseph Bergin, Pace University One Pace Plaza New York, NY 10038 USA,
http://csis.pace.edu/~bergin/PedPat1.3.html
100