• Rezultati Niso Bili Najdeni

RAZVOJ RAČUNALNIŠKEGA MIŠLJENJA SKOZI SCRATCH PROJEKTE

N/A
N/A
Protected

Academic year: 2022

Share "RAZVOJ RAČUNALNIŠKEGA MIŠLJENJA SKOZI SCRATCH PROJEKTE "

Copied!
128
0
0

Celotno besedilo

(1)

PEDAGOŠKA FAKULTETA Poučevanje, predmetno poučevanje

Anja Koron

RAZVOJ RAČUNALNIŠKEGA MIŠLJENJA SKOZI SCRATCH PROJEKTE

Magistrsko delo

Ljubljana, 2021

(2)

PEDAGOŠKA FAKULTETA Poučevanje, predmetno poučevanje

Anja Koron

RAZVOJ RAČUNALNIŠKEGA MIŠLJENJA SKOZI SCRATCH PROJEKTE

Magistrsko delo

Mentorica: doc. dr. Irena Nančovska Šerbec

Ljubljana, 2021

(3)

Zahvala

Walt Disney je rekel: če lahko sanjaš, lahko narediš. Pri pisanju magistrskega dela bi se tako rada zahvalila vsem, ki so z menoj sanjali in me v trenutkih, ko sama v sanje nisem verjela, opomnili, da so mogoče!

Najprej se zahvaljujem mentorici doc. dr. Ireni Nančovski Šerbec, ki me je vzela pod svoje okrilje in mi z napotki, svetovanjem ter usmerjanjem pomagala pri pisanju magistrskega dela.

Hvala za vsa kosila in kave.

Posebna zahvala gre kolegom, Tinetu Koronu, Žanu Terniku in Davidu Kristanu, s katerimi sem soorganizirala delavnico. Zahvaljujem se tudi vsem udeležencem delavnice, ki so nam popestrili poletne dni in nas spomnili, zakaj smo se odločili postati učitelji. Za izvedbo empiričnega dela bi se še posebej rada zahvalila mojim dijakom in dijakinjam 1. letnikov izbrane gimnazije, ki so me pospremili v učiteljske vode.

Nazadnje pa bi se rada zahvalila tatu, mami, bratu Tinetu oziroma vsem svojim prijateljem in družini, ki so me spremljali na poti do mojih sanj. Hvala vam za spodbudne besede in vložen čas ter denar med študijem.

(4)

II

Namen magistrskega dela je oblikovati model za začetno učenje programiranja, pri čemer učenci razvijajo računalniško mišljenje. Predstavljamo tudi orodja, s katerimi lahko učitelji ocenijo razvoj računalniškega mišljenja učencev.

V teoretičnem delu magistrskega dela smo se osredotočili na veščino računalniškega mišljenja.

Najprej smo si pogledali, kako različni raziskovalci in didaktiki računalništva opredelijo računalniško mišljenje. Podrobneje smo predstavili trodimenzionalni model razvoja računalniškega mišljenja, ki sta ga zasnovala Brennan in Resnick. Model sta razvila s preučevanjem Scratchovih projektov, ki so nastali skozi delavnice in dejavnosti v spletni Scratch skupnosti. Z analizo projektov, izdelanih v Scratchu, sta ugotovila, da se učenci učijo računalniških konceptov: zaporedja ukazov, zank, dogodkov, sočasnosti, pogojnih stavkov, operatorjev in podatkov. Poleg konceptov model temelji še na dveh dimenzijah – praksi in perspektivi računalniškega mišljenja. Praksa se kaže skozi razvoj računalniških projektov in vključuje testiranje in razhroščevanje, postopnost ter ponavljanje, ponovno uporabo in predelavo ter abstrakcijo in modeliranje. Perspektiva se kaže skozi metakognitivne lastnosti posameznika, ki razvija projekte v Scratch skupnosti, izraža svoje kreativne ideje, se počuti povezanega s skupnostjo in si dovoli postavljati vprašanja, ki so relevantna za reševanje računalniških problemov.

V empiričnem delu smo pripravili aktivnosti, s katerimi smo dijake izbrane gimnazije seznanili z osnovami programiranja v Scratchu 3.0. Naloga dijakov je bila samostojno izdelati projekt na temo Soba pobega. Projekte smo najprej kvantitativno analizirali s prosto dostopno spletno aplikacijo Dr. Scratch in nato še kvalitativno analizirali kodo v projektih. Za preverjanje, ali so dijaki usvojili koncepte računalniškega mišljenja, smo uporabili tudi test računalniškega mišljenja. S tem smo dobili vpogled v stopnjo razvoja računalniškega mišljenja dijakov, ki so ga usvojili s projektnim učnim delom v Scratchu.

Preverili smo tudi domnevo, da se razvoj računalniškega mišljenja razlikuje glede na starost učencev. V ta namen smo primerjali rezultate analize projektov dijakov izbrane gimnazije, starih od 15 do 16 let, z rezulati analize projektov učencev, starih od 10 do 12 let, ki so se udeležili delavnice Scratchov pobeg, organizirane v sklopu poletne šole.

Ključne besede: računalniško mišljenje; koncepti, praksa in perspektiva računalniškega mišljenja; projektno učno delo; Scratch

(5)

III

The goal of this master's thesis is to design a model for early programming learning that enables the development of computational thinking. We also present assessment tools that the teacher can use to analyze the development of students' computational thinking.

In the theoretical part of the master thesis, we focused on computational thinking skills. First, we analyzed how different researchers and computer science didactics define computational thinking. More extensively, we presented a model of computational thinking that includes three key dimensions. It was developed by examining Scratch workshops and activities in the online Scratch community by Brennan in Resnick. By analyzing Scratch projects, they found that students learn computer concepts: sequences, loops, events, parallelism, conditionals, operators, and data. In addition to concepts, they also presented the other two dimensions - computational thinking practice and perspective. Practice is demonstrated through the development of Scratch projects, which includes testing and debugging, reusing and remixing, being incremental and iterative, and abstracting and modularizing. The computational thinking perspective manifests through the metacognitive qualities of individuals developing projects in the Scratch community, expressing their creative ideas, feeling connected to the community, and allowing themselves to ask questions relevant to solving computational problems.

In the empirical part, we prepared activities that introduced students, from selected high school, to the basics of the Scratch 3.0 visual programming language. They had the task of creating an Escape Room in Scratch. We then analyzed their projects first quantitatively using the free online analytical tool Dr. Scratch and then qualitatively by analyzing the code of the projects.

To measure understanding of the computational thinking concepts adopted, we also used the computational thinking test. This gave us insight into the stage of students’ computational thinking that they learned through project-based learning in Scratch.

We also tested the assumption that understanding of computational thinking concepts differs by age. We compared the results of the analyzed projects of the high school students aged 15 to 16 with the results of analyzed projects of students aged 10 to 12 who had attended the Scratch Escape summer workshop.

Keywords: Computational thinking; computational thinking concepts, practice and perspective; project-based learning; Scratch

(6)

IV

1 Uvod ... 1

2 Računalniško mišljenje ... 3

2.1 Definicija računalniškega mišljenja ... 3

2.2 Veščine računalniškega mišljenja ... 6

2.2.1 Logično razmišljanje ... 6

2.2.2 Algoritmično razmišljanje ... 7

2.2.3 Abstraktno razmišljanje ... 7

2.2.4 Posploševanje ... 8

2.2.5 Dekompozicija ... 9

2.2.6 Evalvacija ... 10

2.3 Trodimenzionalni model računalniškega mišljenja ... 11

2.3.1 Koncepti računalniškega mišljenja ... 11

2.3.2 Praksa računalniškega mišljenja ... 14

2.3.3 Perspektiva računalniškega mišljenja ... 15

3 Poučevanje računalniškega mišljenja ... 19

4 Ocenjevanje računalniškega mišljenja ... 23

4.1 Preverjanje računalniškega mišljenja ... 27

4.1.1 Dr. Scratch ... 27

4.1.2 Test računalniškega mišljenja ... 31

5 Projektno učno delo ... 35

5.1 Razlogi za vpeljavo projektnega učnega dela ... 35

5.2 Razlika med izvedbo projekta in projektnim učnim delom ... 36

5.3 Potek projektnega učnega dela ... 37

6 Primer modela za razvoj računalniškega mišljenja ... 42

6.1 Aktivnosti ... 43

6.1.1 Spoznaj okolje ... 43

6.1.2 2019 ... 46

6.1.3 Umetnik ... 48

6.1.4 Pogovor ... 50

6.1.5 Čarobni akvarij ... 52

6.2 Soba pobega ... 54

7 Empirični del ... 58

7.1 Opredelitev raziskovalnega problema ... 58

7.2 Raziskovalna vprašanja ... 58

7.3 Metoda in raziskovalni pristop ... 58

(7)

V

7.3.2 Raziskovalni instrumenti ... 60

7.3.3 Izvedba raziskovanja ... 62

7.3.4 Postopki obdelave podatkov ... 64

7.4 Rezultati z analizo in interpretacija ... 64

7.4.1 Koncepti računalniškega mišljenja prisotni v projektih dijakov ... 64

7.4.2 Koncepti računalniškega mišljenja prisotni v projektih učencev ... 69

7.4.3 Razlike med projekti dijakov in učencev ... 75

7.4.4 Razlike v projektih dijakov glede na predznanje ... 79

7.4.5 Povezanost testa računalniškega mišljenja z rezultati kvalitativne analize ... 82

8 Sklep ... 86

9 Viri in literatura ... 89

10 Priloge ... 98

10.1 Delovni list – Načrt sobe pobega v Scratchu ... 98

10.2 Ocenjevalni obrazec ... 100

10.3 Test računalniškega mišljenja ... 101

10.4 Struktura vprašanj Testa računalniškega mišljenja ... 118

(8)

VI

Slika 1: Pogled na računalniško mišljenje z dveh nasprotujočih si stališč (Curzon, Bell, Wait in

Dorling, 2019). ... 4

Slika 2: Napačno uporabljena (levo) in pravilno uporabljena (desno) zanka ponovi __ krat (Brennan, 2011). ... 12

Slika 3: Primer napačne uporabe sporočil. ... 13

Slika 4: Primer uporabe neskončne zanke ponavljaj in pogojnega stavka če __ potem. ... 13

Slika 5: Preveden primer Scratch kartice (Scratch.mid.edu, b.d.)... 21

Slika 6: Prenovljena Bloomova taksonomija in instrumenti za preverjanje računalniškega mišljenja (Román-González, Moreno-León in Robles, 2019). ... 27

Slika 7: Rezultati Dr. Scratch analize projekta na osnovni stopnji (Moreno-León, Robles in Román-González, 2015). ... 30

Slika 8: Rezultati Dr. Scratch analize projekta na mojstrski stopnji (Moreno-León, Robles in Román-González, 2015). ... 30

Slika 9: Zlati standard za poučevanje projektnega učnega dela: izdelava (levo) in praksa (desno) (Buck Institute for Education, 2019; Buck Institute for Education, 2019a). ... 38

Slika 10: Dileme Karen Brennan (Hickmott in Prieto-Rodriguez, 2018). ... 42

Slika 11: Scratchev vmesnik. ... 44

Slika 12: Zaslonska slika programa Premikanje v Scratchu. ... 45

Slika 13: Kotna ura za določanje smeri figur v informacijah o figuri (levo) in pri ukazu (desno). ... 45

Slika 14: Zaslonska slika programa 2019. ... 46

Slika 15: Puščanje sledi (levo) pri osnovni centralizaciji figure (desno). ... 47

Slika 16: Puščanje sledi (levo) pri novi centralizaciji figure (desno)... 47

Slika 17: Figura Kiran s svinčnikom (videz-e) in brez svinčnika (videz-a). ... 48

Slika 18: Skripta programa Umetnik. ... 49

Slika 19: Informacije o figuri. ... 51

Slika 20: Koda odra pri animaciji Pogovor. ... 51

Slika 21: Koda pri figuri mali muc (levo) in velik muc (desno). ... 52

Slika 22: Oder igre Čarobni akvarij. ... 52

Slika 23: Koda figure riba. ... 53

Slika 24: Skripte za igro Skrivnostni akvarij pri figurah zvezdic (levo) in odru (desno). ... 54

Slika 25: Primer rešenega delovnega lista (1. stran). ... 55

Slika 26: Primer rešenega delovnega lista (2. stran). ... 56

Slika 27: Primer oštevilčenih predmetov pri načrtu pobega. ... 56

Slika 28: Primeri nesmiselno uporabljene neskončne zanke ponavljaj v projektih dijakov. ... 66

Slika 29: Primer uporabe zaporedja »enakih« ukazov (levo) izraženih s končno zanko ponovi __ krat (desno). ... 66

(9)

VII

Slika 31: Primer skritja figure s sporočili (levo) in z ukazi ko se ozadje zamenja na __ (desno).

... 68

Slika 32: Primeri nesmiselno uporabljene neskončne zanke ponavljaj v projektih učencev. .. 70

Slika 33: Primer zaporedja »enakih« ukazov (levo) izraženih z ugnezdeno zanko (desno). ... 71

Slika 34: Primer prekomerne uporabe sporočil v projektih učencev. ... 73

Kazalo tabel

Tabela 1: Časovna ustreznost uporabe instrumentov za preverjanje računalniškega mišljenja glede na obravnavo (Román-González, Moreno-León in Robles, 2019)... 25

Tabela 2: Ustreznost instrumentov za preverjanje RM glede na posamezno dimenzijo RM (Román-González, Moreno-León in Robles, 2019). ... 25

Tabela 3: Stopnje računalniškega mišljenja po Dr. Scratchu glede na posamezen kriterij (Moreno-Léon, Robles in Román-González, 2015). ... 29

Tabela 4: Okolje, slog odgovorov, gnezdenje vprašanj in način reševanja uporabljeni pri testu računalniškega mišljenja (Román-González, Moreno-León in Robles, b.d.) (priloga 3). ... 32

Tabela 5: Vsebovanost računalniških konceptov pri posameznem vprašanju (Román-González, Moreno-León in Robles, b.d.) (priloga 3). ... 33

Tabela 6: Prisotnost konceptov, prakse in perspektive računalniškega mišljenja (Brennan in Resnick, 2012) pri testu računalniškega mišljenja (Román-González, Pérez-González in Jiménez-Fernández, 2017)... 34

Tabela 7: Razlike med izvedbo projekta in projektnim učnim delom (Mayer, b.d.; Rugelj, b.d.; Žerovnik in Nančovska Šerbec, v tisku). ... 36

Tabela 8: Koda za izris posamezne števke pri aktivnosti 2019. ... 48

Tabela 9: Skripte programa Umetnik. ... 50

Tabela 10: Strukturna porazdelitev sodelujočih glede na spol. ... 59

Tabela 11: Strukturna porazdelitev sodelujočih glede na predznanje programiranja. ... 59

Tabela 12: Strukturna porazdelitev sodelujočih na testu računalniškega mišljenja glede na predznanje. ... 60

Tabela 13: Število doseženih točk projektov dijakov glede na posamezne kriterije računalniškega mišljenja v Dr. Scratchu. ... 65

Tabela 14: Vsebovanost konceptov računalniškega mišljenja v projektih dijakov... 69

Tabela 15: Število doseženih točk projektov učencev glede na posamezen kriterij računalniškega mišljenja v Dr. Scratchu. ... 72

Tabela 16: Vsebovanost konceptov računalniškega mišljenja v projektih učencev. ... 74

Tabela 17: Rezultati Mann-Whitney tets projektov učencev in dijakov glede na posamezen kriterij računalniškega mišljenja po Dr. Scratchu. ... 76

(10)

VIII

... 77 Tabela 19: Rezultati Mann-Whitney testa projektov dijakov s predznanjem in brez predznanja glede na posamezen kriterij računalniškega mišljenja po Dr. Scratchu. ... 80 Tabela 20: Vsebovanost konceptov računalniškega mišljenja v projektih glede na predznanje dijakov. ... 81

Kazalo grafov

Graf 1: Starostna struktura udeležencev s programerskim predznanjem. ... 60 Graf 2: Povprečno doseženo število točk projektov dijakov glede na posamezne kriterije računalniškega mišljenja v Dr. Scratchu. ... 65 Graf 3: Povprečno doseženo število točk projektov učencev glede na posamezne kriterije računalniškega mišljenja Dr. Scratchu. ... 70 Graf 4: Stopnja računalniškega mišljenja po Dr. Scratchu glede na udeležence. ... 75 Graf 5: Povprečno število točk projektov glede na posamezen kriterij računalniškega mišljenja v Dr. Scratchu. ... 76 Graf 6: Stopnja računalniškega mišljenja po Dr. Scratchu glede na predznanje dijakov. ... 79 Graf 7: Povprečno število točk projektov dijakov pri posameznem kriteriju računalniškega mišljenja v Dr. Scratchu glede na predznanje ... 80 Graf 8: Rezultati testa računalniškega mišljenja glede na posamezno nalogo. ... 82 Graf 9: Kvalitativne ocene projektov glede na posamezen kriterij. ... 84

(11)

1

1 Uvod

Resnick in drugi (2009) menijo, da je programiranje veščina, ki je skoraj tako potrebna za izražanje kot pisanje, saj zmožnost programirati omogoča ljudem ustvarjati nove stvari, kot so interaktivne zgodbe, igre, animacije in simulacije (Sáez-López, Román-González in Vázquez- Cano, 2016). Skozi programiranje pa otroci ne le ustvarjajo, ampak tudi krepijo veščine računalniškega mišljenja.

Pojem računalniško mišljenje je obsežen in v našem okolju še ni dokončno določen, prav zato obstaja kar nekaj različnih pogledov, kako naj bi ga definirali, kaj vse zajema in komu je namenjeno. Sam pojem je bil prvič omenjen leta 1980, ko je Seymour Papert javno spregovoril o uporabi računalnikov pri pouku. Mnenja je bil, da bi se učenci s takim načinom dela lažje učili, razvijali ustvarjalnost in inovativnost ter se tako učili tudi veščin računalniškega mišljenja. Danes živimo v svetu, kjer so Papertove ideje integrirane v izobraževanje. Tu lahko izpostavimo neobvezni izbirni predmet računalništvo, kjer se učenci učijo programiranja in drugih računalniških konceptov z izdelovanjem interaktivnih medijev oz. projektov v Scratchu.

Mitchel Resnick, profesor na MIT Media Lab, in njegova doktorandka Karen Brennan menita, da je ena izmed dobrih lastnosti programiranja z delčki v Scratchu razvijanje veščin računalniškega mišljenja. Trdita, da lahko glede na izvedene raziskave računalniško mišljenje definiramo s trodimenzionalnim modelom, ki zajema koncepte, prakso in perspektivo računalniškega mišljenja. V trodimenzionalni model računalniškega mišljenja tako zajameta koncepte, ki se jih učenci učijo med izdelovanjem projektov (zaporedja ukazov, zanke, dogodke, sočasnost, pogojne stavke, operatorje in podatke), proces kreiranja projektov, tako imenovano prakso, in spremembe v pogledih učencev, ki nastanejo med programiranjem, ki jih poimenujeta perspektiva (Brennan in Resnick, 2012).

Učenci se z izdelavo projektov v Scratchu naučijo računalniških konceptov, kot so zaporedje ukazov, zanke, dogodki, sočasnost, pogojni stavki, operatorji in podatki. Poleg tega pa razvijejo tudi veščine. Selby in Woollard (2013) kot osnovne veščine računalniškega mišljenja navajata:

algoritmično razmišljanje, logično razmišljanje, dekompozicijo, abstrakcijo ter posploševanje (Curzon, Bell, Waite in Dorling, 2019).

Glede na vse pozitivne lastnosti, ki jih prinaša razvijanje računalniškega mišljenja, bi bilo smiselno, da učencem v šolah v čim večji meri ponudimo aktivnosti, s katerimi bodo lahko krepili veščine računalniškega mišljenja. V sklopu magistrskega dela smo se osredotočili na razvijanje računalniškega mišljenja skozi ustvarjanje projektov v Scratchu, ki ga je v svojem doktoratu raziskovala Karen Brennan (2012). Prišla je do ugotovitev, da sta pri tem zelo pomembna avtonomija oz. učenčeva sposobnost načrtovanja in doseganja ciljev ter strukturirano razmišljanje, ki ga je opisala kot jasno razumevanje pravil, vlog in virov. Sama predlaga pet strategij – predstavitev možnosti, spodbujanje eksperimentiranja, omogočanje dostop do virov, spodbujanje povezovanja z drugimi in omogočanje refleksije, ki produktivno vpeljujejo strukturno razmišljanje v učna okolja in spodbujajo avtonomijo (Brennan, 2013).

V sklopu magistrskega dela smo se odločili, da bodo učenci in dijaki veščine ter koncepte računalniškega mišljenja razvijali med projektnim učnim delom, ki ima številne pozitivne lastnosti: ni pasivno, temveč aktivno, je za učence zanimivo in relevantno, jim omogoča avtonomijo ter samoregulacijsko učenje, povečuje motivacijo za učenje, povezuje »šolsko«

učenje z realnostjo in omogoča učencem, da vidijo ter povežejo znanje iz različnih predmetnih področij (Railsback, 2002).

Projektno učno delo stremi k temu, da učenci med izdelovanjem projekta sami spoznavajo in usvajajo učno snov, vendar je pri programiranju to v celoti težko uresničiti. Pri programiranju

(12)

2

učenci s težavo pričnejo z izvajanjem projekta, če niso seznanjeni vsaj z osnovami programiranja. V ta namen smo pripravili nekaj aktivnosti, s katerimi lahko učencem predstavimo programiranje z delčki in jih seznanimo z osnovnimi koncepti računalniškega mišljenja.

V magistrskem delu raziskujemo, ali didaktični pristop, ki temelji na projektnem učnem delu v Scratchu, v skladu z raziskovalno literaturo omogoča razvoj računalniškega mišljenja in ali se ta razlikuje glede na predznanje dijakov. Konkretno nas zanima, kateri koncepti računalniškega mišljenja so prisotni v projektih Soba pobega dijakov, starih od 15 do 16 let. Obenem preverjamo tudi, ali se kvantitativna ocena (dobljena z Dr. Scratchom) projektov dijakov razlikuje od ocene projektov učencev, starih od 10 do 12 let.

Didaktiki s področja računalništva poročajo, da lahko vrednotenje računalniškega mišljenja, ki se kaže v projektih, analiziramo na različne načine (Curzon, Bell, Waite in Dorling, 2019).

V magistrski nalogi podatke o konceptih računalniškega mišljenja, ki jih vsebujejo projekti, pridobimo s prosto dostopno spletno aplikacijo Dr. Scratch (Román-González, Moreno-Léon in Robles, 2017), ocenjevalnim obrazcem ter standardiziranim testom računalniškega mišljenja, ki so ga razvili Román-González, Pérez-González in Jiménez-Fernández (2015).

(13)

3

2 Računalniško mišljenje

Izvor računalniškega mišljenja sega v začetke računalništva, vse tja v leto 1945. Eden izmed prvih, ki se je dotaknil idej računalniškega mišljenja, je bil George Polya. Pisal je o miselnih procesih in metodah, ki so omogočale reševanje matematičnih problemov. Njegovo knjigo How to solve it? lahko po Denningovem mnenju vzamemo za začetno točko opredelitve pojma računalniškega mišljenja (Denning, 2017). Res je, da takrat pojem še ni bil opredeljen, ampak je zajemal vse te »ideje«, ki danes oblikujejo računalniško mišljenje (Denning, 2017). Sam pojem je bil prvič uporabljen šele leta 1980 v knjigi Mindstorms, v kateri je Papert predlagal, kako učinkoviteje uporabiti nove pristope za reševanje problemov. Njegova ideja o uporabi računalnika pri pouku kot pripomočka za učenje in razvijanje kreativnosti, inovativnosti ter razvijanje veščin računalniškega mišljenja je temelj sodobne didaktike računalništva (Nančovska Šerbec, Cerar in Žerovnik, 2018). Prvotna ideja govori o tem, da je računalniško mišljenje metakognitivna strategija za reševanje problemov in zakaj ga ne bi torej uporabili pri poučevanju drugih predmetov – npr. matematike, in sicer na nekoliko drugačen način. Papert je med poukom matematike vpeljal uporabo programskega jezika LOGO (Curzon, Bell, Wait in Dorling, 2019).

Pojem računalniškega mišljenja (angl. computational thinking) je postal široko sprejet šele leta 2006, ko ga je Jeanette Wing v svojem članku opisala in popularizirala. Takrat so se pojavile različne razprave, ki so težile k jasni opredeliti pojma (Selby in Woollard, 2013). Koncept, ki se skriva za pojmom, je bil od takrat splošno sprejet in promoviran tako kot nabor spretnosti, ki ga razvijajo programerji, kot tudi splošne miselne spretnosti oz. kot strategije, ki bi jih morali razviti vsi učenci med učenjem discipline (Curzon, Bell, Wait in Dorling, 2019).

Računalniško mišljenje je kljub svoji razgibani zgodovini še vedno razmeroma nov pojem.

Obstaja veliko odprtih vprašanj, najbolj osnovno pa je zagotovo, katero definicijo računalniškega mišljenja prevzeti kot temeljno. Katera opredelitev je primerna, je v veliki meri odvisno od odgovora na bolj konkretna odprta vprašanja s katerimi se med poukom srečujemo učitelji računalništva. Na primer, ugotoviti moramo ali so veščine prenosljive, kako koristne so lahko v praksi učenja na drugih področjih, ali je znanje računalniškega mišljenja koristno pri razumevanju digitalnega sveta, ali se lahko veščine računalniškega mišljenja učinkovito razvijajo zunaj programiranja, ipd. (Curzon, Bell, Wait in Dorling, 2019).

V tekočem poglavju se bomo ukvarjali z razvojem definicije računalniškega mišljenja. Največ pozornosti bomo posvetili trodimenzionalnemu modelu računalniškega mišljenja, ki sta ga definirala Brennan in Resnick (2012) ter na podlagi katerega smo izvedli raziskavo v empiričnem delu.

2.1 Definicija računalniškega mišljenja

Jeannette M. Wing (2006) v članku Computational Thinking jasno definira, da gre pri računalniškem mišljenju za razmišljanje kot računalničar. Istočasno pa gre tudi za temeljno analitično oz. kognitivno veščino, namenjeno vsem in ne le računalničarjem. Koncept, ki ga opisuje Wingova, se nanaša na računalniške procese, ne glede na to, ali jih izvaja človek ali stroj (Curzon, Bell, Wait in Dorling, 2019).

Kljub temu da je Wingova podala jasno in nazorno definicijo, je še vedno veliko nestrinjanj o tem, kaj je računalniško mišljenje (Ternik, 2020), kaj zajema in komu je namenjeno. Trenutno obstajata dva večja nasprotujoča si pogleda, predstavljena na sliki 1. Pripadniki prve skupine pravijo, da je računalniško mišljenje namenjeno vsem, torej podprejo stališča Jeannette Wing.

(14)

4

Pripadniki druge skupine pa trditev zavračajo, češ da je računalniško mišljenje namenjeno le izbrani skupini ljudi oz. programerjem (Curzon, Bell, Wait in Dorling, 2019).

Slika 1: Pogled na računalniško mišljenje z dveh nasprotujočih si stališč (Curzon, Bell, Wait in Dorling, 2019).

Kljub temu da prihaja pri pripadnikih skupin do nesoglasij, je ta splošna ideja, kaj je jedro računalniškega mišljenja podobno, kar je razvidno tudi iz slike 1 – presek karakteristik (pogledov) dveh različnih stališč. Strinjajo se, da je računalniško mišljenje način razmišljanja, ki ga uporabimo pri razvijanju in zapisu rešitev problemov v obliki, ki jo lahko izvede informacijsko procesni agent. Agent mora le z izvajanjem algoritmov in brez kakršnega koli dodatnega raziskovanja ter reševanja problemov priti do ustrezne rešitve. Seveda se tu pojavi vprašanje, kdo ali kaj je lahko informacijsko procesni agent. Je lahko to samo računalnik ali tudi človek, kaj pa kombinacija obeh (Curzon, Bell, Wait in Dorling, 2019)?

Denning (2017) opiše računalniško mišljenje kot veščino, ki se razvije kot stranski produkt učenja programiranja. Učiteljem pa polaga na srce upoštevanje Ahove definicije, ki pravi, da je računalniško mišljenje miselni procesi, ki nastane pri formuliranju problemov, zato je mogoče njihove rešitve predstaviti kot računalniške korake oz. v obliki algoritmov (Aho, 2012; Ternik, 2020). Denning je prepričan, da je lahko informacijsko procesni agent le stroj ali pa vsaj zelo dobro definiran model nekega stroja. To stališče računalniško mišljenje avtomatsko določi za veščino, ki je namenjena le posebni skupini ljudi – programerjem. Po njegovem mnenju bi morali idejo, da je računalniško mišljenje namenjeno vsem, opustiti, vsaj dokler se ne najdejo dokazi o obstoju koristnih veščin na drugih področjih izven računalništva (Denning, 2017).

Irene Lee (2016) obravnava to zadevo nekoliko drugače, lahko bi rekli, da zavzame neko vmesno stališče. Prepričana je, da gre pri računalniškemu mišljenju za več kot le programiranje oz. pisanje algoritmov. Računalniško mišljenje opiše kot veščino, ki se razvije ob procesu reševanja realnih problemov. Realne probleme je potrebno najprej ustrezno predstaviti, jih analizirati in nato rešiti s pomočjo računalnika. To pomeni, da morajo biti problemi in rešitve

(15)

5

zapisani v obliki, ki jo razume procesno informacijski agent, ki je v tem primeru lahko le računalnik (Lee, 2016).

Lee se tako zateče k operativni definiciji računalniškega mišljenja, ki sta jo izoblikovali organizaciji ISTE (International Society for Technology) in CSTA (Computer Science Teachers Association). Definicija pravi, da je računalniško mišljenje proces reševanja problemov, ki vključuje naslednje lastnosti:

- zmožnost oblikovanja problemov, ki omogoča uporabo računalnikov in drugih orodij za reševanje le-teh;

- zmožnost logičnega organiziranja in analize podatkov;

- zmožnost predstavitve podatkov s pomočjo abstraktnega razmišljanja (modeli, simulacije);

- zmožnost avtomatizacije rešitve s pomočjo algoritmičnega razmišljanja;

- zmožnost identifikacije, analize in izvedbe možnih rešitev problema z namenom ugotoviti najučinkovitejšo in najbolj uporabno kombinacijo korakov za rešitev zastavljenega problema;

- zmožnost posplošitve in prenos konkretne rešitve zastavljenega problema na številne nove probleme (ISTE in CSTA, 2011; Ternik, 2020).

Ta definicija nas na sme zavesti, saj pri računalniškem mišljenju ne gre le za reševanje problemov, ampak za mnogo več. Je pa zagotovo reševanje problemov ena izmed prvih asociacij ob razmišljanju, kaj je računalniško mišljenje. Marina Umaschi Bers (2008, v Curzon, Bell, Wait in Dorling, 2019) je mnenja, da je povezanost teh dveh pojmov nekoliko pretesna.

Sama vidi potencial predvsem v uporabi računalniškega mišljenja za komunikacijo, ustvarjalnost in izražanje na drugih področjih izven znanosti, tehnologije, inženirstva ter matematike (t. i. STEM področij). Marina Umaschi Bers (2017, v Curzon, Bell, Wait in Dorling, 2019) ne definira računalniškega mišljenja, ampak prevzame definicijo, ki sta jo podala Brennan in Resnick (Sullivan, Bers in Pugnail, 2017).

Brennan in Resnick (2012) sta k iskanju definicije računalniškega mišljenja pristopila nekoliko drugače, osredotočila sta se predvsem na aktivnosti izdelane v Scratch programskem okolju za programiranje z delčki. Glede na izvedene raziskave sta ugotovila, da lahko računalniško mišljenje definiramo s trodimenzionalnim modelom, ki zajema koncepte, prakso in perspektivo računalniškega mišljenja (Brennan in Resnick, 2012; Ternik, Koron, Koron in Nančovska Šerbec, 2017; Koron, 2018).

Selby in Woollard (2013) sta izvedla raziskavo, s katero sta želela najti primernejšo definicijo računalniškega mišljenja. Njun namen ni bil »poteptati« prejšnjih definicij, ampak na podlagi teh podati novo glede na svoje izkušnje. Pri proučevanju literature, povezane z računalniškim mišljenjem, sta ugotovila, da je definicij ogromno, vendar imajo nekaj skupnih točk.

Računalniško mišljenje sta opredelila kot kognitivni proces, ki se kaže kot sposobnost za abstraktno razmišljanje, dekompozicijo problemov na podprobleme, algoritmično razmišljanje, sposobnost evalvacije in sposobnost posploševanja (Selby in Woollard, 2013; Ternik, 2020).

Trenutno je s strani učiteljev, ki učijo v osnovnih in srednjih šolah, sprejeta BBC definicija, ki računalniško mišljenje definira prek štirih karakteristik:

- dekompozicije – razbitje kompleksnejšega problema ali sistema na manjše preprostejše podprobleme;

- prepoznavanja vzorcev – iskanje podobnosti med problemi in znotraj njih;

(16)

6

- abstrakcije – osredotočanja na pomembne značilnosti in izločitvijo (zamegljevanja) podrobnosti, ki jih ne potrebujemo za rešitev;

- algoritmov – zapis rešitve problema v obliki zaporedja korakov (BBC, 2020).

Glede na vsebino magistrskega dela bomo za definicijo računalniškega mišljenja vzeli definicijo, ki sta jo podala Brennan in Resnick (2012) (Koron, 2018).

2.2 Veščine računalniškega mišljenja

Videli smo, da si strokovnjaki s področja računalništva niso enotni pri definiranju, kaj je računalniško mišljenje. Pri definiciji veščin računalniškega mišljenja prihaja tudi do nesoglasij.

Različni avtorji navajajo in definirajo različne veščine računalniškega mišljenja, najpogosteje gre za različno poimenovane veščine (angl. skills) oz. sposobnosti (angl. abilities) (Ternik, Todorovski in Nančovska Šerbec, 2020; Tang, Yin, Lin, Hadad in Zhai, 2020; Araujo, Andrade Guerrero in Melo, 2019). V literaturi je veščine računalniškega mišljenja mogoče zaslediti tudi pod imenom koncepti, spretnosti ali elementi računalniškega mišljenja. V okviru magistrskega dela bomo uporabljalii poimenovanje veščine računalniškega mišljenja predvsem zaradi ločevanja od konceptov računalniškega mišljenja, ki se nanašajo na eno od dimenzij pri trodimenzionalnem modelu (Brennan in Resnick, 2012).

Za potrebe naše raziskave se osredotočamo na naslednje veščine računalniškega mišljenja:

algoritmično razmišljanje, abstraktno razmišljanje, logično razmišljanje, posploševanje, dekompozicija in evalvacija (Selby in Woollard, 2013). Poleg omenjenih so bile predlagane tudi druge veščine, kot so rekurzivno razmišljanje, prepoznavanje vzorcev, hevristično razmišljanje, znanstveno razmišljanje itd. Vse te veščine je mogoče uvrstiti v prej omenjene veščine, zato jih ne obravnavamo kot osnovne veščine, ampak kot podveščine računalniškega mišljenja (Curzon, Bell, Wait in Dorling, 2019). Kot primer lahko vzamemo rekurzivno razmišljanje, ki ga obravnavamo kot podveščino dekompozicije.

2.2.1 Logično razmišljanje

Če dvema podobnima računalnikoma damo enaka navodila (program) z enakimi vhodnimi podatki, nam ta skoraj zagotovo da enak rezultat. Računalniki si ne izmišljujejo sproti stvari ali delajo »po svoje«, odvisno od tega, kako se počutijo, kar pomeni, da so predvidljivi. Zaradi tega lahko uporabimo logično razmišljanje, da natančno predvidimo, kaj bo naredil program ali računalniški sistem (Berry, 2015).

Veščina logičnega razmišljanja je temeljna veščina, ki nastopa v številnih definicijah računalniškega mišljenja. Logika podpira semantiko programskih jezikov, zato je logično razmišljanje nujno potrebno za razvoj algoritmov, njihovo izvajanje in preverjanje ustreznosti njihovega delovanja (Curzon, Bell, Wait in Dorling, 2019).

Učenci se logičnega razmišljanja učijo oz. ga začnejo uriti že zelo zgodaj, predvsem skozi opazovanje in eksperimentiranje. Izkustveno spoznajo npr., da klik gumba sproži predvajanje videa oz. da tipkanje ali premikanje po zaslonu sproži nek željeni pričakovani odziv. Ta postopek uporabe obstoječega znanja za napovedovanje nekega odziva je del logičnega razmišljanja (Berry, 2015). Logično razmišljanje učencem poleg napovedovanja omogoča še preverjanje napovedi in sklepanje o zaključkih. Prisotno je tudi pri preizkušanju in odpravljanju napak v kodi ter pri preverjanju algoritmov (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Logično razmišljanje je mogoče zaslediti tudi pri drugih predmetih in ne le pri računalništvu.

Pri slovenščini tako učenci sklepajo o lastnostih lika in predvidevajo nadaljnje odzive, pri

(17)

7

naravoslovju z rezultati poskusov pridejo do zaključkov in predvidevajo nadaljnje reakcije, pri zgodovini razpravljajo o logičnih povezavah med vzroki in posledicami itd. Pri računalništvu so učenci postavljeni predvsem v situacije, v katerih morajo uporabiti logično razmišljanje za sklepanje o delovanju preprostih programov, razlaganju delovanja algoritmov ter razhroščevanju programov (Berry, 2015). V omenjenih aktivnostih pri različnih predmetih se veščina logičnega razmišljanja prepleta z veščinami abstraktnega razmišljanja, evalvacije in algoritmičnega razmišljanja (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

2.2.2 Algoritmično razmišljanje

Algoritmično razmišljanje je način, kako priti do rešitev z jasno opredelitvijo korakov (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015). Po Curzonu (2014) je ta veščina temeljna ideja računalniškega mišljenja, pri kateri gre za niz korakov, ki temeljijo na ideji, da rešitve problemov niso le odgovori (kot je »42«1) ali dosežki (kot je »končana križanka«), ampak algoritmi. Curzon algoritem opiše kot niz korakov, ki jih moramo upoštevati. Če natančno sledimo korakom oz. algoritmu, bi morali priti do rešitve zastavljenega problema (Curzon, 2014).

Dejstvo, da se algoritmično razmišljanje ne nanaša le na enkratne odgovore, ampak na algoritme, ki rešijo dani problem, je izrednega pomena, ker nam zato podobnih problemov ni potrebno reševati znova in znova. Omogoča nam neko splošno rešitev, ki ob natančnem sledenju korakov reši podani problem (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Če lahko učenec rešitev problema zapiše kot splošni algoritem, s tem pokaže globlje razumevanje problema kot sicer. Seveda je mogoče izvajati podobne naloge brez globljega razumevanja algoritma. Velika večina učencev npr. brez težav izračuna, koliko drobiža oz.

koliko kovancev posamezne vrednosti bo prodajalec moral vrniti kupcu, toda natančen opis postopka, kako so do tega prišli, je zahtevnejši. To je podobno dejstvu, da lahko učenci ujamejo žogo, ne da bi znali obrazložiti zakonitosti gravitacije. Če učenec zapiše algoritem, ki mu lahko sledi druga oseba, ali algoritem, ki deluje ustrezno ne glede na vrednost vhodnega podatka, s tem resnično dokaže globlje razumevanje procesa (Curzon, Bell, Wait in Dorling, 2019).

Algoritmično razmišljanje se tako rekoč vrti okoli algoritmov, ki jih je mogoče razvijati tudi izven računalniške učilnice pri drugih predmetih. Tako lahko pri naravoslovju govorimo o eksperimentalnih metodah, ki so podane z algoritmičnimi navodili, pri gospodinjstvu lahko recepte zapišemo v obliki algoritma, pri slovenščini lahko algoritem uporabimo pri pisanju priročnikov ipd. (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Algoritmično razmišljanje je zagotovo osnovna veščina računalniškega mišljenja, ki jo učenci razvijejo pri urah računalništva med učenjem programiranja. Algoritmično razmišljanje se prepleta tudi z drugimi veščinami računalniškega mišljenja, npr. z uporabo rekurzije, pisanjem funkcij, oblikovanjem zaporedij ukazov, ki vključujejo aritmetične in logične operacije (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

2.2.3 Abstraktno razmišljanje

Abstrakcija nam omogoča lažje razmišljanje o problemih ali sistemih (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015). V bistvu je abstraktno razmišljanje

1 42 je »odgovor na vprašanje o vesolju, življenju in sploh vsem« v skladu s kultnim delom Douglasa Adamsa Štoparski vodnik po galaksiji.

(18)

8

postopek poenostavljanja in skrivanja (zameglitve) podrobnosti z namenom fokusiranja na bistvene lastnosti, ki se nanašajo na rešitev. Kot del računalniškega mišljenja nam abstraktno razmišljanje pomaga pri reševanju problemov oz. iskanju poenostavljenih predstavitev kompleksnejših (računalniških) sistemov (Curzon, Bell, Wait in Dorling, 2019). Vzemimo na primer zemljevid londonskega podzemnega transporta. Londonski transportni sistem je zelo zapleten, zato si turisti in prebivalci pomagajo s takimi ali drugačnimi modeli Londona (najpogosteje so to kar zemljevidi ali slike). Zemljevid Londonske podzemne železnice je abstrakcija z ravno dovolj informacijami, da lahko oseba potuje po podzemni prometni povezavi brez nepotrebnega bremena informacij, kot sta razdalja in natančen geografski položaj. To je predstavitev, ki vsebuje ravno toliko informacij, kot jih potrebuje potnik za načrtovanje poti od ene postaje do druge – in nič več (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Obstaja veliko različnih načinov, kako skriti podrobnosti, pri čemer algoritmi niso izjema. Zelo pomembna uporaba abstraktnega razmišljanja je npr. nadzorna abstrakcija (angl. control abstraction), pri kateri gre za združevanje manjših korakov v enega večjega. V bistvu gre za idejo skriti podrobnosti, ki so zahtevane pri posameznih korakih. Najbolj preprost primer so knjige z recepti, kjer z ukazom »skuhaj krompir« zajamemo veliko več kot samo en korak, potrebno je napolniti ponev z vodo, prižgati kuhalnik, postaviti ponev na kuhalnik, vodo zavreti itd. Opazimo lahko, da je ta oblika abstraktnega razmišljanja zelo tesno povezana z veščino dekompozicije, ki jo bomo predstavili nekoliko kasneje. Pri abstrakciji, imenovani podatkovna abstrakcija (angl. data abstraction), gre za skrivanje podrobnosti o shranjenih podatkih.

Preprost primer je shranjevanje števil oz. podatkov v računalniku, kjer so števila shranjena kot zaporedje znakov 0 in 1. Abstraktnega razmišljanja ne uporabljamo samo pri pisanju programov, ampak tudi pri ocenjevanju algoritmov. Čisto preprost primer je zagotovo primerjava časovne zahtevnosti dveh različnih algoritmov (Curzon, 2014).

Kot smo videli, se v računalništvu na splošno uporabljajo najrazličnejše oblike abstraktnega razmišljanja, tako pri programiranju kot pri sistemskem oblikovanju. Spretnost abstraktnega razmišljanja se kaže v odstranjevanju nepomembnih podrobnosti. Skrite podrobnosti morajo problem poenostaviti in istočasno ohraniti tiste podatke, ki jih potrebujemo za reševanje problema (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Učenci se s takim načinom razmišljanja srečujejo pri različnih predmetih. Tak najbolj pogosto uporabljen pristop je zagotovo reševanje besedilnih nalog pri matematiki, ki vključuje postopek prepoznavanja ključnih informacij in določanja, kako predstaviti težavo v bolj abstraktnem jeziku aritmetike, algebre ali geometrije. Pri geografiji se učenci srečujejo z zemljevidi, pri katerih gre, kot smo že povedali, za odvzem kompleksnosti okolja. Za nas najbolj zanimivo pa je zagotovo razvijanje abstraktnega razmišljanja pri urah računalništva. Abstraktno razmišljanje učenci razvijajo predvsem skozi: programiranje; igranje iger, zlasti takih, ki vključujejo interaktivne simulacije sistemov iz resničnega sveta; spoznavanje delovanja programske in strojne opreme; izdelovanje predstavitev ali videoposnetkov, kjer se morajo osredotočiti na ključne informacije in razmisliti, kako jih je mogoče predstaviti itd. (Berry, 2015).

2.2.4 Posploševanje

Posploševanje ali generalizacija je povezano z zmožnostjo prepoznavanja vzorcev, podobnosti in povezav ter z zmožnostjo njihove uporabe. Gre za način hitrega reševanja novih problemov, katerih rešitve temeljijo na predhodnih rešitvah problemov in na podlagi predhodnih izkušenj (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

(19)

9

Posploševanje gre z roko v roki z razpoznavanjem vzorcev (večkrat jo v literaturi zasledimo tudi kot eno izmed veščin računalniškega mišljenja). Ko vzorec zasledimo bodisi v programu bodisi v podatkih, ga zapišemo tako, da si lahko z njim pomagamo pri reševanju kakšnih podobnih problemov (Curzon, Bell, Wait in Dorling, 2019). Vzemimo na primer iskanje željenega imena v nekem neurejenem seznamu. Najverjetneje se bomo iskanja lotili organizirano – začnemo na vrhu seznama in preverjamo vsako ime po vrsti, dokler ne pridemo do željenega. Drugi dan moramo na polici s CD-ji poiskati točno določen CD. Hitro prepoznamo, da gre pri iskanju CD-ja za podoben problem (vzorec) zato se reševanja lotimo na enak način, tj. uporabimo isto strategijo reševanja kot pri iskanju imena (Curzon, 2014).

Verjetno smo opazili, da moramo pri posploševanju določene podrobnosti odmisliti. Pri iskanju željenega CD-ja oz. imena smo druga imena odmislili oz. smo si jih predstavljali kot nek predmet. Tako smo pri posploševanju uporabili nekakšno obliko abstraktnega razmišljanja, ki nam je dejansko omogočilo, da smo opazili, da gre pri iskanju imena in iskanju CD-ja za isti problem. Veščina posploševanja je lahko uporabna tudi pri evalvaciji, ki ga bomo predstavili nekoliko kasneje. Recimo, da smo ustvarili nek splošen algoritem, ki smo ga nato tudi vrednotili in s tem dobili neke splošne informacije o samem algoritmu (npr. kako hiter je naš algoritem v različnih situacijah). Ti podatki nam nato služijo pri odločanju, ali ga bomo uporabili za reševanje podobnih primerov ali ne (Curzon, 2014).

Veščina posploševanj se ne nanaša le na programiranje, ampak tudi na reševanje problemov v splošnem, zato učenci naletijo na to veščino pri številnih predmetih v šolskih programih. Pri slovenščini se srečujejo z refreni ali s ponavljajočimi se strukturami v pripovedkah. Pri glasbeni vzgoji se učijo prepoznavati ponavljajoče se melodije in njihove modulacije. Pri matematiki običajno raziskujejo vzorce in sklepajo o splošnih rezultatih. Pri angleščini opazujejo neke podobnosti oz. pravila črkovanja in njihove izjeme. Pri računalništvu se uporaba posploševanja vidi predvsem, ko učenci prepoznavajo vzorce in skupne značilnosti v podatkih; ko prilagajajo rešitev ali dele rešitev, tako da jih lahko nato uporabijo na podobnih problemih oz. nalogah in ko prenašajo ideje in rešitve iz enega problemskega področja na druga problemska področja (Berry, 2015).

2.2.5 Dekompozicija

Dekompozicija je sposobnost razmišljanja o problemu kot o množici manjših podproblemov, ki ta problem sestavljajo. Vsak posamezen podproblem lahko obravnavamo, rešimo in ovrednotimo posebej. Razbitje kompleksnejših problemov na enostavnejše podprobleme omogoča njihovo lažje reševanje, boljše razumevanje in preprostejše kreiranje večjih sistemov (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

Vzemimo npr. pripravo zajtrka. Opravilo lahko razbijemo v več manjših dejavnosti, kot so pečenje kruha, kuhanje čaja, cvrtje jajca itd. Vsako od teh aktivnosti je mogoče še dodatno razbiti v manjše korake (Curzon, Bell, Wait in Dorling, 2019). Ta postopek razbitja problemov na manjše podprobleme lahko ponavljamo, dokler podproblemi ne postanejo dovolj enostavni, da jih znamo rešiti. Za lažje razumevanje damo vsakemu podproblemu ime, ki jasno navaja, kaj ta počne, obenem pa skriva podrobnosti, kako to počne (tu je zelo prisotna veščina abstraktnega razmišljanja). S pomočjo teh posameznih rešitev malih podproblemov lahko tako rešimo osnovni problem (Curzon, 2014).

Uporaba dekompozicije prihrani veliko časa predvsem pri izvajanju kompleksnejših programov in razhroščevanju. Druga koristna lastnost dekompozicije je zagotovo ponovna uporaba že rešenih problemov (What is decomposition?, b.d.). Tukaj pride do izraza povezava med dekompozicijo in posploševanjem, ki nam omogoča, da prepoznamo manjše podprobleme, ki

(20)

10

jih znamo rešiti, in rešitve uporabimo pri reševanju drugih sorodnih problemov. S tem se izognemo ponovnemu reševanju problemov, saj preprosto uporabimo že poznane rešitve. Pri tem procesu je zelo prisotno abstraktno razmišljanje, ki poskrbi, da se osredotočimo na to, kako rešitev posameznega podproblema vpliva na reševanje prvotnega problema. To vodi k bolj naprednim oblikam dekompozicije, predvsem pa k reševanjem problemov z rekurzijo (angl.

recursive) in metodo deli in vladaj (angl. divide-and-conquer) (Curzon, Bell, Wait in Dorling, 2019).

Tako kot druge veščine računalniškega mišljenja je tudi veščino dekompozicije mogoče zaslediti v programu osnovne šole oz. v učnih načrtih predmetov naravoslovja oz. t. i. področja STEM.2 Zagotovo je najbolj izrazita pri matematiki, kjer morajo učenci pri reševanju nalog problem razbiti na več manjših podproblemov in ga nato rešiti (besedilne naloge itd.). Pri slovenščini učenci načrtujejo oz. zaznavajo posamezne dele zgodbe, pri geografiji pa uporabijo dekompozicijo pri obravnavanju različnih držav, delov sveta oz. držav. Učitelj lahko pri računalništvu pri učencih zasledi uporabo dekompozicije tudi med izdelovanjem iger. Učenci lahko med skupinskim izdelovanjem iger oblikujejo in ustvarjajo različne nivoje igre, ki so med seboj neodvisni. To od učencev zahteva, da se predhodno dogovorijo o določenih komponentah igre in si delo ustrezno razdelijo. Delo pa si mora učenec razdeliti tudi sam, in sicer znotraj izdelovanja nivoja – premikanje figur, drsenje ozadja, določitev interakcije figur itd. Seveda je še veliko takih dejavnosti, ki od učencev zahtevajo uporabo veščin dekompozicije, kot so izdelovanje videoposnetkov, predstavitev, spletnih strani itd. (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015)

2.2.6 Evalvacija

Didaktiki s področja računalništva so mnenja, da je evalvacija oz.vrednotenje pomemben del programiranja, kjer se porabi večino časa za testiranje in ne za pisanje kode. Prav tako se strinjajo, da igra evalvacija pomembno vlogo pri vseh pristopih reševanja problemov. Še vedno pa imajo deljena mnenja glede tega, ali je ta veščina res ena izmed veščin računalniškega mišljenja (Curzon, Bell, Wait in Dorling, 2019). V sklopu te magistrske naloge bomo evalvacijo obravnavali kot eno izmed veščin računalniškega mišljenja (Selby in Woollard, 2013; Curzon, 2014; Csizmadia idr., 2015).

Evalvacija je postopek, ki zagotavlja, da je rešitev, algoritem, sistem ali postopek ustrezen, kar pomeni, da služi svojemu namenu (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015) in omogoča razmišljanje o tem, kako rešitev še izboljšati. Pri evalvaciji gre za preverjanje, ali je rešitev glede na dane kriterije dobra. Da lahko rečemo, da gre za dobro rešitev, jo moramo najprej oceniti glede na kriterije (Curzon, 2014).

Med prvimi moramo zagotovo preveriti funkcionalno korektnost, torej ali algoritem sploh deluje. Prepričati se moramo, da nas algoritem vedno pripelje do rešitve oz. nam vedno poda pravilen odgovor. Druga stvar, ki jo moramo preveriti, je časovna kompleksnost, torej kako hiter je naš algoritem, ali obstajajo drugi, hitrejši algoritmi, ali kdaj pride do kakšne situacije, ko je naš algoritem zelo počasen in ali so te situacije pomembne itd. Tretji resnično pomemben del evalvacije je odgovor na vprašanje, ali rešitev dejansko služi namenu. Algoritmi služijo za reševanje problemov, s katerimi se soočajo ljudje, zato morajo delovati tako, da so za ljudi koristni. Zaradi tega razloga je potrebno preveriti, kako enostavni so algoritmi za uporabo in kako dobra je izkušnja njihove uporabe za tiste, ki jih uporabljajo (Curzon, 2014).

2 STEM = Science Technology Engineering and Mathematics

(21)

11

Obstaja veliko tehnik in veščin vrednotenja. Najbolj preprosta tehnika je zagotovo strogo testiranje, ki pri preverjanju zahteva dobro organizacijo. Tehnika ne vključuje le večkratno preverjanje rešitve oz. algoritma, temveč tudi razmislek, v katerih primerih rešitev ne bi delovala. Seveda le premislek ni dovolj, potrebno jih je tudi preveriti. Tukaj gre za uporabo logičnega razmišljanja, saj moramo razmisliti, katere situacije preveriti, da res pokrijemo vse možnosti, do katerih lahko pride. Ena od tehnik vrednotenja je tudi ocenjevanje rešitve po delih.

Pri tej metodi je prisotna veščina dekompozicije, saj rešitev razbijemo na več manjših delov, ki jih nato posebej evalviramo. Vrednotenje je v tem primeru lažje in hitrejše, saj so delčki manjši.

Seveda obstajajo tudi druge tehnike evalvavacije, ampak opisane so tiste, ki se jih pri poučevanju računalništva v šolah najpogosteje poslužujemo (Curzon, 2014).

Evalvacija je zagotovo tista veščina računalniškega mišljenja, ki jo učitelji najbolj razvijajo. Pri računalništvu je mogoče zaslediti uporabo evalvacije pri ocenjevanju ali nek računalniški izdelek ustreza namenu izdelave. Zmožnost uporabe vrednotenja je opazna tudi pri primerjavi programov, ocenjevanju kakovosti, ustreznosti in preprostosti uporabe računalniških programov, analiziranju algoritmov itd. (Csizmadia, Curzon, Dorling, Humphreys, Ng, Selby in Woollard, 2015).

2.3 Trodimenzionalni model računalniškega mišljenja

Brennan in Resnick (2012) sta k pojmu računalniško mišljenje pristopila nekoliko drugače kot drugi raziskovalci in strokovnjaki s področja didaktike računalništva. Osredotočila sta se na konkreten proces izdelovanja interaktivnih medijev3 s pomočjo Scratch programskega okolja za programiranje z delčki. S preučevanjem Scratchovih delavnic in dejavnosti v spletni Scratch skupnosti sta oblikovala model razvoja računalniškega mišljenja (Brennan in Resnick, 2012) skozi ustvarjanje projektov v Scratchu. Njuna definicija računalniškega miljenja vključuje tri dimenzije: poznavanje računalniških konceptov, zmožnost uporabe teh konceptov v praksi in razvijanje perspektive – zavedanje sebe, drugih in tehnološkega sveta (Brennan, Balch in Chung, 2014).

Po mnenju National Research Council (Kong, 2012, v Kong, 2019) je v 21. stoletju pomembno kompetence učencev oceniti na kognitivni, znotrajosebni in medosebni ravni. Koncepti in praksa računalniškega mišljenja pokrivata kognitivno področje, kot sta znanje in praksa programiranja, perspektiva računalniškega mišljenja pa pokriva znotrajosebno in medosebno področje, kot je učenčevo izražanje s pomočjo programskih orodij in povezavo z digitalnim svetom. To ogrodje učiteljem pomaga zagotavljati boljši vpogled v evalvacijo razvoja računalniškega mišljenja pri učencih (Kong, 2019).

V poglavju 2.3.1 podrobneje predstavimo posamezno dimenzijo trodimenzionalnega modela računalniškega mišljenja.

2.3.1 Koncepti računalniškega mišljenja

Kong (2019) je naredil primerjavo raziskav, v katerih so avtorji vrednotili računalniške koncepte v blokovskih programskih okoljih. Z analizo 14 raziskav je prišel do ugotovitve, da blokovska programska okolja zagotavljajo devet konceptov računalniškega mišljenja: zanke, pogojne stavke, podatke, zaporedja ukazov, sočasnost, operatorje, dogodke, procedure in

3 Interaktivni mediji so kakršna koli kombinacija tekstovnih medijev z večpredstavnimi digitalnimi elementi ali dodatki, ki obogatijo računalniško digitalizirano okolje. Zasnovani so tako, da uporabniku omogočajo dvosmerno komunikacijo z medijem, torej spremljanje delovanja in izidov programa (Augment, 2016, v Koron, 2018).

V Scratchu lahko izdelamo interaktivne medije, kot so igre, zgodbe in simulacije, v našem magistrskem delu jih bomo imenovali kar projekti.

(22)

12

inicializacije (Kong, 2019). Brennan in Resnick (2012) izpostavita, da se učenci med programiranjem v Scratchu učijo prvih sedem omenjenih računalniških konceptov, ki jih lahko prenesejo tudi v druge kontekste, ki so lahko povezani s programiranjem ali pa tudi ne (Brennan in Resnick, 2012). V nadaljevanju sledi krajši opis4 posameznega koncepta računalniškega mišljenja.

Zaporedja ukazov: pri programiranju je izrednega pomena, da so dejavnosti oz. naloge izražene kot zaporedje posameznih korakov ali ukazov, ki jih lahko izvede računalnik. Slediti si morajo zaporedoma in v pravilnem vrstnem redu (Brennan in Resnick, 2012). Karen Brennan (2011) opaža, da učenci zelo dobro razumejo koncept zaporedja ukazov, vendar pri programiranju večkrat pozabijo na natančno definiranje še tako samoumevnih ukazov, kot je npr. začetna pozicija figure.

Zanke: so mehanizmi, ki omogočajo večkratno izvajanje zaporedja ukazov in/ali izvajanje zaporedja ukazov v nedogled oz. dokler je/ni določen pogoj izpolnjen (Brennan in Resnick, 2012). Ena izmed najbolj pogostih napačnih predstav pri zankah v Scratchu nastane pri sestavljanju zanke. Vzemimo na primer figuro, ki jo želimo obrniti v desno 10-krat po 15°.

Tega ne dosežemo tako, da ukazu ponovi __ krat »priključimo« ukaz obrni se za 15 stopinj, ampak tako, da z zanko zaobjamemo ta ukaz (slika 2) (Brennan, 2011).

Slika 2: Napačno uporabljena (levo) in pravilno uporabljena (desno) zanka ponovi __ krat (Brennan, 2011).

Dogodki: so »srce« interaktivnosti (Brennan, 2011), saj povzročijo izvedbo zaporedja ukazov (Brennan in Resnick, 2012). Karen Brennan (2011) loči med zunanjimi in notranjimi dogodki.

Med zunanje dogodke uvršča dogodke, ki jih sproži uporabnik, npr. klik zelene zastavice, med notranje pa tiste, ki jih sprožijo figure, npr. ukaz ko prejmem sporočilo __. Iz raziskav opaža, da imajo učenci največ težav z objavljanjem in prejemanjem sporočil. Najpogostejša napačna predstava dogodkov pri učencih je neusklajena uporaba sporočil. Na sliki 3 je prikazen primer pogoste neustrezne uporabe sporočil. Učenec je kreiral sporočilo »odgovori« najprej pri rjavem in nato se je pri sivem mucu skliceval na sporočilo »vprašanje«. S tem je dosegel, da sivi muc ne bo nikoli izdal odgovora rjavemu mucu, saj se skripta med izvajanjem programa ne bo nikoli izvedla, ker sporočilo »vprašanje« ni bilo nikoli objavljeno.

4 Koncepti so podrobneje predstavljeni v diplomskem delu – Koron, A. (2018). Labirint v Scratchu (Diplomsko delo). Univerza v Ljubljani, pedagoška fakulteta, Ljubljana.

(23)

13

Slika 3: Primer napačne uporabe sporočil.

Sočasnost: je hkratno izvajanje več različnih zaporedji ukazov. Ločimo dve vrsti sočasnosti:

sočasnost med figurami in sočasnost znotraj ene figure. Pri sočasnosti med figurami gre za izvajanje različnih zaporedji ukazov figur. To pomeni, da imamo več figur z lastnimi zaporedji ukazov, ki jih sproži isti dogodek. Pri sočasnosti znotraj figure pa gre za izvajanje različnih zaporedjih ukazov pri eni figuri, kar pomeni, da imamo eno figuro z različnimi zaporedji ukazov, ki jih sproži nek dogodek (Brennan in Resnick, 2012). Karen Brennan opaža, da učencem sočasnost med figurami ne povzroča težav, težko pa razumejo sočasnost znotraj figur, predvsem na začetku učenja programiranja (Brennan, 2011).

Pogojni stavki: to je zmožnost odločanja na podlagi pogojev. Gre za določanje pogojev, pri katerih se določeno zaporedje ukazov izvede (Brennan in Resnick, 2012). Karen Brennan pri učencih ne opaža napačnih predstav o pogojnih stavkih, izpostavi pa, da učenci pri izdelovanju projektov velikokrat ne razmišljajo o tem, kako pogosto želijo nek pogoj preverjati. V Scratchu je predvideno konstantno preverjanje pogojev, kar pomeni, da je uporaba neskončne zanke ponavljaj v kombinaciji s pogojnimi stavki kar precej pogosta (slika 4).

Slika 4: Primer uporabe neskončne zanke ponavljaj in pogojnega stavka če __ potem.

Operatorji: nudijo podporo matematičnim in logičnim izrazom ter nizom, ki programerjem omogočajo izvajanje matematičnih operacij (seštevanje, odštevanje, deljenje, množenje, funkcije itd.) in operacij z nizi (združevanje, dolžina niza itd.) (Brennan in Resnick, 2012). Pri uporabi operatorjev je poleg neznanih operacij (npr. mod, absolutna vrednost) in znakov (npr. e, ^) učencem največji izziv »združevanje« le teh z drugimi ukazi. Pri tem si seveda učenci lahko pomagajo z oblikami ukazov, ki se prilegajo le, če ukaze lahko združimo (Brennan, 2011).

(24)

14

Podatki: vključujejo shranjevanje, pridobivanje in nalaganje vrednosti. V Scratchu imamo spremenljivke, ki jim lahko priredimo vrednost enega števila ali niza, ter sezname, ki lahko vsebujejo določen nabor števil ali nizov zaporedja ukazov (Brennan in Resnick, 2012). Poleg razumevanja koncepta spremenljivke imajo učenci največ težav pri določanju začetnih vrednosti. Tako se jim velikokrat zgodi, da ob zagonu programa preprosto pozabijo ponastaviti vrednosti spremenljivke (Brennan, 2011).

2.3.2 Praksa računalniškega mišljenja

S pomočjo intervjujev in opazovanjem mladih programerjev sta Brennan in Resnick (2012) ugotovila, da formuliranje računalniškega mišljenja zgolj na konceptih ne zajema vseh elementov učenja, ki so prisotni pri izdelavi projektov v Scratchu. Naslednji korak pri izražanju računalniškega mišljenja je bil torej opis procesa kreiranja oz. prakse, ki jo je mogoče zaslediti pri učencih med izdelovanjem projektov v Scratchu (Brennan in Resnick, 2012).

Tako imenovana praksa računalniškega mišljenja se poleg konceptov računalniškega mišljenja osredotoči predvsem na mišljenje in učenje, ki ju učenci razvijajo ob programiranju. S to dimenzijo Brennan in Resnick zajameta učenčevo znanje, pa tudi prizadevanje, ki je vidno pri izdelavi projektov. Pri tem pa ne opazujeta le, kaj se ob tem učenci učijo, temveč tudi, kako se učijo (Brennan in Resnick, 2012).

V literaturi je mogoče zaslediti sedem oblik prakse: abstrakcija in modeliranje, algoritmično razmišljanje, testiranje ter razhroščevanje, postopnost in ponavljanje, dekompozicija, načrtovanje in kreiranje, ponovna uporaba in predelava. Kong (2019) pravi, da lahko sestavne dele prakse računalniškega mišljenja razdelimo v dve kategoriji: praksa oblikovanja in praksa programiranja. Praksa oblikovanja, kjer učenci načrtujejo programe, temelji na dekompoziciji, abstrakciji in modeliranju ter algoritmičnem razmišljanju. Praksa programiranja, kjer učenci svoje načrte realizirajo, pa zajema ponovno uporabo in predelavo, postopnost in ponavljanje ter testiranje in razhroščevanje. Ker ljudje prakso načrtovanja in kreiranja pogosto dojemajo kot neko posebno veščino za reševanje problemov, ki zahteva malo načrtovanja in kreiranja, ta oblika prakse ni zajeta v nobeno od kategorij (Kong, 2019).

Brennan in Resnick (2012) ločita le štiri od omenjenih oblik prakse: postopnost in ponavljanje, testiranje ter razhroščevanje, ponovno uporabo in predelavo ter abstrakcijo in modeliranje.

V nadaljevanju je posamezna oblika podrobneje predstavljena.

Postopnost in ponavljanje

Pri izdelovanju projektov ne gre za jasen proces, ki poteka po točno določenih korakih (izbira teme projekta, izdelava načrta, izvedba načrta), ampak za prilagodljiv proces. To pomeni, da pri izdelovanju projekta rešujemo manjše korake in na podlagi rešitev teh korakov nato določimo nadaljnje reševanje. Pri izdelavi projekta tako posežemo tudi po dekompoziciji – tj. razbitje naloge na manjše pod naloge. Mladi programerji proces opišejo kot ponavljajoč se cikel idej in kreiranja – zapis idej za projekt, njihova implementacija ter nadaljnji razvoj idej na podlagi izkušen in novih zamisli (Brennan in Resnick, 2012).

Testiranje in razhroščevanje

Stvari le redko (če sploh) delujejo tako, kot smo si jih prvotno zamislili, pri čemer izdelovanje projektov ni izjema. Za učence je izrednega pomena, da razvijejo strategije za reševanje in predvidevanje problemov, ki se lahko pojavijo med procesom izdelovanja projekta (Brennan in Resnick, 2012). Pri izdelovanju projektov morajo učenci razviti del programa in zagotoviti, da ta ustrezno deluje, kar je brez testiranja in razhroščevanja skorajda nemogoče (Kong, 2019).

(25)

15

Brennan in Resnick (2012) sta s pomočjo intervjujev ugotovila, da se učenci poslužujejo različnih tehnik testiranja in razhroščevanja, ki so jih razvili s preizkušanjem, s pomočjo napak, s prenosi iz drugih aktivnosti ali s podporo znanja drugih. Učenci se tako poslužujejo naslednjih tehnik: poišči vir težave, ponovno preberi skripto, eksperimentiraj s skripto, ponovno zapiši skripto, poišči primere skript, ki delujejo, vprašaj nekoga za pomoč, predstavi problem nekomu drugemu in/ali vzemi odmor (Brennan in Resnick, 2012).

Ponovna uporaba in predelava

Pisanje programov, ki temeljijo na delu drugih, je v programiranju že dolgoletna praksa.

S spletnimi tehnologijami, ki omogočajo dostop do projektov drugih ljudi, se je njihova ponovna uporaba in predelava še dodatno okrepila (Brennan in Resnick, 2012).

Pri Scratchu so projekti mladih oblikovalcev dostopni v spletni Scratch skupnosti, eden izmed njenih ciljev pa je tudi, da ustvarjalce podprejo pri ponovni uporabi in predelavi projektov.

Učenci s pomočjo deljenja projektov v skupnosti Scratch dobijo vpogled v projekte drugih. Te projekte lahko spremenijo, dopolnijo ali pa jih uporabijo za črpanje idej za nove, potencialno kompleksnejše projekte od siceršnjih. Ponovna uporaba in predelava projektov podpirata razvoj kritičnega branja (natančneje razumevanje kode) ter sprožata pomembna vprašanja o lastništvu in avtorstvu. Torej, kaj si lahko sposodimo od drugih, kaj od tega lahko uporabimo in kako avtorjem pripišemo zasluge? Učiteljem pa se poleg omenjenih vprašanj zagotovo poraja še vprašanje, kako take projekte oceniti (Brennan in Resnick, 2012), o čemer bomo razpravljali v nadaljevanju.

Abstrakcija in modeliranje

Abstrakcija je ena izmed temeljnih oblik prakse računalniškega mišljenja in tudi ena izmed pomembnih strategij za načrtovanje in reševanje problemov. Brennan in Resnick (2012) sta predlagala združenje modeliranja in abstrakcije zato, da se lahko učenci izognejo kompleksnosti in ustvarijo neki nov večji projekt z združitvijo več manjših projektov.

Modeliranje učencem omogoča, da organizirajo podatke, strukturirajo misli, opišejo odnose in analizirajo predlagane načrte (Voland, 1999, v Kong, 2019) (Kong, 2019; Brennan in Resnick, 2012).

V Scratchu učenci uporabljajo abstrakcijo in modeliranje na več ravneh od začetka definiranja projekta pa vse tja do preoblikovanja zamisli v skripte znotraj figur. Taka najbolj očitna uporaba abstrakcije in modeliranja znotraj projektov Scratch je ločevanje različnih vedenj oz. dejanj figur. Vzemimo na primer mačka, ki se sprehaja po odru. Ko ta sreča kakšnega prijatelja (drugo figuro), se ustavi in malo poklepeta. Tako lahko pri mačku ena skripta nadzoruje premikanje te figure na zaslonu, druga njegov vizualni izgled, tretja skripta pa je zadolžena za nadzor govora, ki ga sproži dotik druge figure. Modeliranje obnašanja figur učencem olajša razmišljanje (testiranje in/ali razhroščevanje) o posameznih delih, obenem pa sošolcem ponuja lažje razumevanje kode oz. programa (Brennan in Resnick, 2012).

2.3.3 Perspektiva računalniškega mišljenja

Brennan in Resnick (2012) sta ugotovila, da učenci z izdelavo projektov v Scratchu izražajo svoje kreativne ideje, se z deljenjem projektov v Scratch skupnosti povezujejo s drugimi in si postavljajo vprašanja, ki so relevantna za reševanje računalniških problemov. Zato se jim je zdelo zelo pomembno v model računalniškega mišljenja vključiti še tretjo stopnjo, ki sta jo poimenovala perspektiva. Ta naj bi zajemala spremembe v pogledih učencev, ki programirajo v Scracthu, skupaj s prakso računalniškega mišljenja pa naj bi omogočala tudi nadgradnjo projektov (Resnick in Brennan, 2011b; Brennan in Resnick, 2012).

(26)

16

Z analizo projektov, pogovorom z učenci in z opazovanjem učiteljev sta Brennan in Resnick (2012) perspektivno računalniškega mišljenja razdelila v tri skupine – izražanje, povezovanje in spraševanje. Drugi strokovnjaki s področja računalništva (Denner, Werner, Campe in Ortiz, 2014; Duncan in Bell, 2015; Ericson in McKlin, 2012; Giordano in Maiorana, 2014; Grover, Pea in Cooper, 2015; Kukul, Gökçearslan in Günbatar, 2017; Maguire, Maguire, Hyland in Marshall, 2014; Ruf, Mühling in Hubwieser, 2014; Werner, Denner, Campe in Kawamoto, 2012; Wolz, Stone, Pearson, Pulimood in Switzer, 2011) poleg omenjenih treh skupin v perspektivo zajamejo še notranjo motivacijo učencev za razumevanje samega sebe. Ta skupina se nanaša na metakognicijo in zajema učenčev odnos do učenja programiranja oz. zanimanje zanj ter samozavest pri programiranju, ki zajema samoučinkovitost5 in samopodobo6 (Kong, 2019).

Izražanje – Lahko ustvarim

Današnji otroci so v neprestani interakciji s tehnologijo, čas preživljajo s klikanjem, brskanjem, pogovarjanjem preko spleta itd. Vse te aktivnosti so pomembne pri učenju uporabe tehnologije, vendar učencem ne omogočajo, da bi se iz uporabnikov razvili v ustvarjalce. Ustvarjalec je nekdo, ki tehnologijo prepozna kot sredstvo, s katerim lahko nekaj oblikuje oz. izdela in tako izrazi svoje ideje (Brennan in Resnick, 2012).

Scratch je eno izmed orodji, ki učencem omogoča izražanje njihovih idej in njihovo deljenje z drugimi (tj. Scratch skupnost). Te prednosti ne izpostavita le Brennan in Resnick (2012), ampak tudi učenci, ki Scratch opišejo kot orodje za izdelavo »nešteto različnih« projektov (Brennan in Resnick, 2012). V Scratch skupnosti je mogoče zaslediti veliko projektov, med njimi tudi tiste, ki odražajo perspektivo izražanja. Lep primer razvoja perspektive izražanja so projekti, v katerih učenci predstavijo prebrano knjigo. Zgodbo izdelajo oz. oblikujejo glede na lastne predstave o prebranem – oblikujejo lik, narišejo ozadje itd. Nekateri učenci zgodbo celo dopolnijo oz. jo spremenijo, drugi pa stopijo še korak dlje, ko izdelajo projekt, v katerem uporabniku omogočijo izbor izgleda glavnega lika, torej izbor barve oči, las, obleke ipd. Pri takih projektih gre celo za izražanje znotraj izražanja, saj avtor uporabniku omogoči kreiranje lastnega sveta (Resnick in Brennan, 2011b).

Sama uporaba Scratcha še ne zagotavlja razvoja perspektive izražanja, zato je čisto mogoče, da ga učitelj v projektih učencev ne zasledi (Resnick in Brennan, 2011b). Projekt, ki zagotovo ne vsebuje te oblike perspektive, je tisti, ki je izdelan točno tako kot primer, ki ga po navadi predstavi učitelj.

Povezovanje – Z dostopom do projektov drugih in s pomočjo skupnosti lahko ustvarim drugačne projekte

Ustvarjalnost in učenje sta del družbene prakse, zato ni nič presenetljivega, da izdelovanje Scratch projektov vključuje veliko interakcije z drugimi. Brennan in Resnick (2012) poudarjata, da pri izdelovanju projektov v Scratchu ne gre vedno za osebno komunikacijo (angl. side by side), ampak gre v večini primerov za komunikacijo prek spleta, natančneje prek Scratch skupnosti. Z analizo projektov v Scratch skupnosti sta ugotovila, da je kar tretjina deljenih projektov predelanih, kar kaže na zelo močno medsebojno interakcijo. Slednja je po besedah Brennanove in Resnicka (2012) ter nekaterih mlajših ustvarjalcev odgovorna za boljšo

5 Programerska samoučinkovitost je prepričanje posameznika o svojih zmožnostih organiziranja in izvajanja ukazov, ki so potrebni za doseganje določenih vrst uspešnosti v okviru programiranja.

6 Programerska samopodoba je prepričanje v svoje programerske sposobnosti.

Reference

POVEZANI DOKUMENTI

Rojstvo abstraktnega mišljenja po mojem mnenju ni ozko vezano na specifi č no materialno podstat, ampak je zaradi svoje odprte relacije do sestavin svojih

igranje raznih iger, ki bi jih lahko igrali v manjših skupinah. Prisotnost računalniškega kotička tudi ne bi bila odveč, saj bi se uporabniki s pomočjo svetovalca lahko naučili osnov

jezik v rabi (language in use), med diahroničnim in sinhroničnim obravnavanjem jezikovnih problemov, predvsem pa takega, ki bi upošteval značaj govorca (torej njegov način

Za obvladovanje predmetov in učenje o njihovih lastnostih, kar je bistveno za prvo Piagetovo stopnjo razvoja, je nujna (Haskell, 1993) sposobnost orientacije lastnega

Študijskih programov na naših univerzah na primer ne izvajajo več le tisti učitelji, ki so jih zasnovali, ampak to lahko počnejo tudi tisti, ki pri snovanju sploh niso sodelovali,

Posledično se na UTŽO računalniškega izobraževanja ude- ležujejo tako tisti, ki v rokah še nikoli niso držali računalniške miške, kot tudi tisti, ki bi

kot vertikalno in lateralno oziroma horizontalno, potem prav tako velja, da bomo pri razvijanju kritičnega mišljenja spodbujali lateralno mišljenje oziroma da to pomeni

Vsebine sodobnih umetniških praks se lahko povezujejo z vsemi splošnimi cilji državljanske in domovinske vzgoje ter etike (razvoj politične pismenosti, razvoj kritičnega mišljenja