• Rezultati Niso Bili Najdeni

DIPLOMSKO DELO

N/A
N/A
Protected

Academic year: 2022

Share "DIPLOMSKO DELO "

Copied!
88
0
0

Celotno besedilo

(1)

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

DIPLOMSKO DELO

ZSOLT PROŠIĆ

(2)
(3)

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA

Študijski program: Matematika in računalništvo

PROGRAMSKO ORODJE ZA SIMULACIJO KARDANSKE REŠETKE

DIPLOMSKO DELO

Mentorica:

doc. dr. IRENA NANČOVSKA ŠERBEC

Kandidat:

ZSOLT PROŠIĆ

Ljubljana, avgust 2016

(4)
(5)

Tema diplomskega dela

Izdelajte spletno aplikacijo, ki vizualizira in simulira vrtenje kriptografskega modela

Kardanske rešetke. Aplikacijo umestite v kontekst večpredstavnega učnega gradiva. To naj omogoča preverjanje znanja pred in po uporabi interaktivne simulacije rešetke in sledi napredku znanja učencev. Obravnavajte lastnosti interaktivnih, večpredstavnih učnih gradiv za simulacijo in animacijo, ki podprejo veščine za razvoj abstraktnega razmišljanja in

razumevanje prostorskih predstavitev v skladu s sodobnim kontekstom razvoja

računalniškega razmišljanja. S pilotsko raziskavo preizkusite didaktične lastnosti aplikacije med izbranimi učenci srednjih šol.

V Ljubljani, 5. 5. 2016

Mentorica:

doc. dr. Irena Nančovska Šerbec

Irena Nančovska Šerbec

(6)
(7)

Zahvala

Za vso strokovno pomoč in usmeritve ter za dejstvo, da »obljuba dela dolgo«, se zahvaljujem mentorici doc. dr. Ireni Nančovski Šerbec.

Hvala vodstvu podjetja Comtrade.

Družini in najbližjim se zahvaljujem za podporo in potrpežljivost.

(8)
(9)

PROGRAMSKO ORODJE ZA SIMULACIJO KARDANSKE REŠETKE POVZETEK

Večpredstavnost, animacija in interaktivnost veljajo za ustaljena in močna orodja v učnem procesu.

V diplomskem delu bomo predstavili primer orodja, ki ga uporabimo za aktivno učenje.

Razvili smo konceptualni model, spletno aplikacijo Programsko orodje za simulacijo Kardanske rešetke, ki temelji na teh orodjih in predstavlja učno gradivo s področja

kriptologije. Struktura aplikacije sledi Mayerjevim načelom za izdelavo večpredstavnostnih gradiv in sloni na kognitivni teoriji učenja z večpredstavnostjo. S simulacijo in nalogami problemskega značaja spletna aplikacija služi kot sredstvo za razvoj abstraktnega

razmišljanja in prostorskih predstavitev. Aplikacija je namenjena srednješolcem, ki so jo tudi preizkusili. Analiza rezultatov pilotske raziskave kaže na pozitivne učne učinke, ki so skladni z neo-Piagetovo teorijo kognitivnega razvoja

KLJUČNE BESEDE

spletna aplikacija, simulacija, interaktivnost, kriptografija, steganografija, računalniško razmišljanje, abstraktno in prostorsko razmišljanje

(10)

ACM KLASIFIKACIJA

K.3 Računalništvo in izobraževanje

K.3.1 Uporaba računalnika v izobraževanju K.3.2 Poučevanje računalništva in informatike

(11)

WEB APPLICATION FOR SIMULATION OF CARDAN GRILLE ABSTRACT

Multimedia, animation and interactivity are common and powerful tools that can be applied in the learning process. In this diploma thesis we present an example of an active-learning tool. We have developed a conceptual model in the form of a web application called “Web Application for simulation of Cardan Grille”, which is based on the aforementioned tools and consists of learning material from the field cryptography. The application’s structure follows Mayer’s principles of the cognitive theory of multimedia learning. Based on simulation and problem-solving activities, this web application serves as a tool for developing abstract and spatial reasoning. It is intended for high school students. The analysis of results obtained from the pilot empirical study points toward positive learning outcomes that are consistent with the neo-Piagetian theory of cognitive development.

KEYWORDS

web application, simulation, interactivity, cryptography, steganography, computational thinking, abstract and spatial reasoning

(12)

ACM CLASSIFICATION

K.3. Computer and Education

K.3.1 Computer Uses in Education

K.3.2 Computer and Information Science Education

(13)

KAZALO VSEBINE

1. UVOD ... 1

1.1. Cilji diplomskega dela ... 1

1.2. Pregled vsebine ostalih poglavij ... 2

2. KRIPTOGRAFIJA ... 3

2.1. Zgodovina ... 4

2.1.1. Od starega veka do 1. svetovne vojne ... 4

2.1.2. Od prve svetovne vojne do danes ... 5

2.2. Steganografija ... 8

2.3. Kardansko in vrteče se rešeto ... 10

2.3.1. Girolamo Cardano ... 10

2.3.2. Kardansko rešeto ... 10

2.3.3. Vrteče se rešeto ... 11

3. TEORETSKO OZADJE ... 13

3.1. Računalniško razmišljanje ... 13

3.2. PISA ... 15

3.3. Neo-Piagetova teorija kognitivnega razvoja in učenje abstraktnega razmišljanja.... 17

3.4. Učenje z animacijo in simulacijo ... 23

3.4.1. Kognitivna teorija učenja z večpredstavnostjo ... 24

4. TEHNIČNA REALIZACIJA ... 27

4.1. HTML5 ... 27

4.2. CSS3 ... 29

4.3. JAVASCRIPT ... 31

4.3.1. JQUERY ... 32

4.3.2. AJAX ... 33

(14)

4.4. PHP ... 34

4.5. MYSQL ... 35

4.6. BOOTSTRAP ... 36

4.7. HEROKU ... 37

5. PROGRAMSKO ORODJE ZA SIMULACIJO KARDANSKE REŠETKE ... 38

5.1. Začetno in končno preverjanje ... 38

5.2. Vadnica ... 44

5.3. Rezultati ... 51

6. EMPIRIČNA RAZISKAVA ... 54

6.1. Opis vzorca ... 54

6.2. Splošni podatki ... 55

6.3. Analiza odgovorov ... 56

6.3.1. Delež pravilnih odgovorov ... 56

6.3.2. Prvi par nalog (1. in 4. naloga) ... 57

6.3.3. Drugi par nalog (2. in 5. naloga) ... 58

6.3.4. Tretji par nalog (3. in 6. naloga) ... 59

6.4. Analiza časa ... 60

6.4.1. Povprečni čas ... 60

6.4.2. Prvi par nalog (1. in 4. naloga) ... 61

6.4.3. Drugi par nalog (2. in 5. naloga) ... 62

6.4.4. Tretji par nalog (3. in 6. naloga) ... 63

6.5. Povzetek analize rezultatov ... 64

7. ZAKLJUČEK ... 65

8. VIRI ... 67

(15)

KAZALO SLIK

Slika 1: Scytale ... 4

Slika 2: Stroj Enigma ... 7

Slika 3: Kardanska rešetka ... 11

Slika 4: Vrteča se rešetka ... 11

Slika 5: Model prekrivajočih se valov ... 22

Slika 6: Shema kognitivne teorije učenja z večpredstavnostjo ... 25

Slika 7: Zaslonska slika aplikacije med uporabo ... 40

Slika 8: Z izbiro možnosti med reševanjem naloge se rešetka obarva modro ... 41

Slika 9: Razkrita Kardanska rešetka v aplikaciji ... 44

Slika 10: Prekrita Kardanska rešetka v aplikaciji ... 44

Slika 11: Rešetka v prvi poziciji ... 46

Slika 12: Rotacija rešetke za 90 stopinj ... 46

Slika 13: Rešetka v drugi poziciji ... 46

Slika 14: Uporabnikovo rešeto ... 48

Slika 15: Izdelovanje svojega šifriranega besedila ... 50

Slika 16: Prikaz rezultatov končnega preverjanja... 53

(16)

KAZALO GRAFIKONOV

Grafikon 1: Delež pravilnih odgovorov pri začetnem preverjanju ... 56

Grafikon 2: Delež pravilnih odgovorov pri končnem preverjanju ... 56

Grafikon 3: Odgovori 1. naloga ... 57

Grafikon 4: Odgovori 4. naloga ... 57

Grafikon 5: Odgovori 2. naloga ... 58

Grafikon 6: Odgovori 5. naloga ... 58

Grafikon 7: Odgovori 3. naloga ... 59

Grafikon 8: Odgovori 6. naloga ... 59

Grafikon 9: Čas reševanja nalog pri začetnem preverjanju ... 60

Grafikon 10: Čas reševanja nalog pri končnem preverjanju ... 60

Grafikon 11: Čas reševanja 1. naloge ... 61

Grafikon 12: Čas reševanja 4. naloge ... 61

Grafikon 13: Čas reševanja 2. naloge ... 62

Grafikon 14: Čas reševanja 5. naloge ... 62

Grafikon 15: Čas reševanja 3. naloge ... 63

Grafikon 16: Čas reševanja 6. naloge ... 63

KAZALO TABEL

Tabela 1: Primerjava klasične Piagetove in neo-Piagetove teorije ... 21

(17)
(18)

AKRONIMI IN OKRAJŠAVE

PHP – PHP: Hypertext Preprocessor HTML – Hyper Text Markup Language CSS – Cascading Style Sheets

DOM – Document Object Model JS – JavaScript

MySQL – sistem za upravljanje s podatkovnimi bazami

(19)
(20)

1. UVOD

Živimo v dobi digitalizacije, tehnologija nas spremlja na skoraj vsakem koraku in vseh področjih življenja. Tehnološki napredek, ki ga poganja kolesje družbe in gospodarstva, se odvija pred našimi očmi – delamo v poklicih, ki pred desetimi leti še niso obstajali, in uporabljamo tehnologije, katerih si še pred manj kot desetletjem ne bi znali predstavljati. V razvoju posameznika se v vse večji meri kaže potreba po naboru veščin, ki presegajo statično znanje.

Da bi v svoji in prihodnjih generacijah vzgojili samostojne, analitično in kritično razmišljujoče posameznike, ki znajo reševati probleme tehnološke družbe, velik del odgovornosti nosimo prav pedagogi in didaktiki. Stroka skupek tovrstnih metodologij povzema v konceptu razvoja računalniškega razmišljanja, ki postaja tako orodje kot cilj v učilnicah.

V diplomskem delu smo želeli raziskati, v kakšni meri so slovenski srednješolci vešči abstraktnega razmišljanja in prostorskih predstavitev, ki sta gradnika računalniškega razmišljanja. Področje kriptografije, ki sicer ni del kurikula za računalništvo, nudi odličen poligon, saj je rezultat več kot štiri tisoč let tovrstnega razmišljanja in se razvija še danes v digitalni obliki.

Učno gradivo, ki predstavlja simulacijo kriptografskega modela, smo izdelali v obliki interaktivne spletne aplikacije Programsko orodje za simulacijo Kardanske rešetke.

1.1. Cilji diplomskega dela

V prvi vrsti je cilj diplomskega dela izdelava spletne aplikacije, ki služi kot večpredstavno učno gradivo. Uporaba večpredstavnosti oz. multimedije s poudarkom na animacijah, simulacijah in interaktivnosti se pogosto uveljavlja pri ustvarjanju učnih gradiv oz. vsebin, s katerimi želimo pri uporabnikih razviti abstraktno ali prostorsko razmišljanje. Spletna aplikacija obravnava problemske situacije uporabe Kardanskega, vrtečega se rešeta na tak način, da med reševanjem problemov od uporabnika zahteva algoritmično, prostorsko in abstraktno razmišljanje, ki so nekateri od gradnikov računalniškega razmišljanja. Skladno z neo-Piagetovo teorijo kognitivnega razvoja pričakujemo, da bo uporaba aplikacije merljivo vplivala na

(21)

utrjevanje in razvoj prej omenjenih veščin, ki spadajo med najvišje stopnje kognitivnega razvoja po tej teoriji. Da bi aplikacija najbolje služila svojemu namenu, smo pri izdelavi aplikacije, kjer je to bilo mogoče, sledili Mayerjevim načelom za izdelavo večpredstavnostnih gradiv, ustreznih za učenje.

1.2. Pregled vsebine ostalih poglavij

Poglavja tega diplomskega dela se podrobneje dotaknejo gradnikov izdelane spletne aplikacije.

V drugem poglavju bomo obravnavali kriptografijo, ki je predmet učnega gradiva izdelka. V tem poglavju bomo predstavili pojem kriptografije v splošnem ter pojme, povezane s kriptografijo. Predstavili bomo zgodovino in sodobno rabo kriptografije ter se dotaknili tehnike steganografije, kamor uvrščamo Kardansko rešetko.

V poglavju, ki sledi, bomo predstavili teoretske koncepte, ki bodisi predstavljajo temelj ali motivacijo izdelave spletne aplikacije. Podrobneje bomo predstavili stališče pomembnosti tovrstnih aplikacij ter kakšno je ozadje same konstrukcije aplikacije, da bi izpolnjevala svoj namen.

V poglavju Tehnična realizacija bomo predstavili tehnologijo in okolja, s katerimi smo izdelali spletno aplikacijo. Ogledali si bomo uporabljene programske jezike, tehnologije za grafično oblikovanje ter programska okolja s primeri uporabe v našem izdelku.

Podrobneje bomo opisali implementirane funkcionalnosti spletne aplikacije in njenega delovanja s konkretnimi primeri programske kode.

V sklepnem delu diplomskega dela bomo predstavili ugotovitve in analizo rezultatov empirične raziskave na osnovi podatkov, pridobljenih od uporabnikov, ki so uporabljali spletno aplikacijo Programsko orodje za simulacijo Kardanske rešetke.

(22)

2. KRIPTOGRAFIJA

Želja po skrivni komunikaciji je stara skoraj toliko kot sama pisna komunikacija. Že stoletja je vključena v vojaško in politično delovanje. Vojaški generali so med seboj komunicirali o pozicijah svojih ali nasprotnikovih čet in nujno je bilo, da nasprotnik v primeru, da je informacijo prestregel, vsebine ni razumel. Enako je veljalo tudi za politične puče skozi zgodovino.

Tudi v današnjem času je kriptografija močen del vojaškega in političnega gibanja, prav tako pa je del vsakdanjika večine ljudi. Spletno bančništvo in nakupovanje, varovanje podatkov, shranjenih na trdem disku, ali varovanje e-pošte temeljijo na kriptiranju (Easttom, 2015).

Easttom (2015) je opisal pojem kriptografije kot vedo o spreminjanju sporočila tako, da ga ni mogoče brati brez ustreznega algoritma ali ključa. Za potrebe te diplomske naloge bomo uporabljali Esttomovo terminologijo kriptoloških pojmov:

Dešifrirati (dekriptirati) – pretvoriti šifrirano besedilo v navadno besedilo.

Ključ – informacija, po navadi številka, ki jo uporablja algoritem za šifriranje ali dešifriranje sporočila.

Kriptoanaliza – veda o zakonitostih in metodah za dešifriranje šifre brez poznavanja ključa.

Kriptologija – velikokrat napačno enačena s kriptografijo. Kriptologija je širši pojem, ki sestoji iz kriptografije in kriptoanalize.

Šifra – sinonim za algoritem, ki ga uporabimo za transformacijo navadnega besedila v šifrirano besedilo.

Šifrirano besedilo – besedilo, ki je rezultat šifriranja. Varnost šifriranega besedila je odvisna od kompleksnosti algoritma ali šifre, uporabljene pri šifriranju.

Šifrirati (kriptirati) – pretvoriti navadno besedilo v šifrirano besedilo.

Navadno besedilo – izvorno besedilo šifriranega besedila. Besedilo, ki ga želimo zavarovati.

(23)

2.1. Zgodovina

2.1.1. Od starega veka do 1. svetovne vojne

Najstarejše besedilo, ki vsebuje osnovni element kriptografije – spreminjanje zapisa, je nastalo pred približno 4000 leti v Egiptu, v mestu Menet Khufu. Gre za hieroglifski zapis na grobnici plemeniteža Khnumhotepa II, ki je zapisan z vrsto nenavadnih simbolov, in sicer z namenom, da vsebino in pomen zapisa otežijo oziroma zakrijejo (Kahn, 1996).

Približno v 5. stoletju pred našim štetjem so Špartanci, slovita antična vojaška družba, znana po strogem načinu vzgoje, pogumu in bojevitosti, razvili kriptografsko sredstvo za šifriranje in dešifriranje sporočil. Scytale (Slika 1) je naprava cilindrične oblike, na katero so navili ozek trak pergamenta ali usnja. Ko je bil trak navit, so nanj zapisali sporočilo, ki ga ni bilo mogoče prebrati, ko se je trak odvil. Pisec in bralec sporočila sta morala imeti enako širok scytale za uspešno prenašanje sporočila. Takšno tehniko šifriranja uvrščamo med transpozicijske šifre, značilnost katerih je, da so uporabljene črke nespremenjene, spremeni pa se vrstni red oziroma položaj zapisanih črk.

Slika 1: Scytale (Easttom, C., 2015)

Še ena antična tehnika šifriranja je adicija – substitucija. Opisal jo je grški pisec Polibij, prvi pa jo je uporabljal Julij Cesar. Sporočilo se je šifriralo tako, da se je vsaka črka zamenjala s črko, ki je po abecednem vrstnem redu bila tri mesta naprej. Črka »A« se je spremenila v črko »D«,

»V« v črko »Y« in tako naprej.

V eseju iz leta 1466 je italijanski avtor Leon Battista Alberti, ki velja za očeta zahodne kriptografije, opisal disk za šifriranje, ki je temelj polialfabetske šifre. Čeprav je njegov koncept

(24)

bil prvi večji zgodovinski kriptografski napredek, ga je v celoti razvil in v praksi uporabil francoski kriptograf Blaise De Vigenere, po katerem šifra nosi ime Vigenerjev kvadrat oz.

Vigenerjeva šifra. Dolgo je veljalo prepričanje, da te šifre ni mogoče razbiti.

Predvidoma leta 1845 je Charles Babbage razvil metodo statistične analize, s katero je uspešno dešifriral Vigenerjevo šifro. Ker Babbage ni vestno dokumentiral svojega dela ali pa zato, ker bi ta informacija lahko ogrozila položaj Združenega kraljestva v krimski vojni, je bilo to dejstvo odkrito šele v 20. stoletju. Zasluge za razvoj tehnike statističnega napada za razbitje Vigenerjeve šifre se pripisuje Prusu Kasiskemu, ki je tehniko odkril leta 1863. Danes jo poznamo kot Kasiskijev test (Easttom, 2015; Kahn, 1996).

2.1.2. Od prve svetovne vojne do danes

Prvi dan vojne je britanska ladja Telconia odkrila in uničila nemške čezoceanske komunikacijske kable in s tem Nemce prisilila v uporabo komunikacijskih kablov v lasti Švedov ali Američanov. Te kanale je rutinsko prestregala in pregledovala organizacija »ROOM 40«, šifrirna organizacija britanske kraljeve mornarice. 16. januarja 1917 sta člana »ROOM 4O«, William Montgomery in Nigel De Gray, prestregla sporočilo Nemcev, šifrirano s šifro 0075. Do naslednjega dne sta dešifrirala sporočilo, ki ga je nemški zunanji minister Zimmermann poslal mehiškemu predsedniku, v katerem je razkril načrt napada na ameriške podmornice in ga pozval naj se mu, skupaj z Japonci, pridruži v napadu.

Razkrito sporočilo je bilo predano ameriškemu predsedniku Wilsonu, ki je 2. aprila 1917 vstopil v vojno z Nemčijo.

Proti koncu prve svetovne vojne je vodja ameriških vojnih kriptografov Joseph Mauborgne razvil prvo šifriranje, ki je slonelo na naključno generiranih ključih. Za šifriranje in dešifriranje so uporabili dve enaki knjižici, v katerih so natisnjene naključno izbrane črke. Z Vigenerjevo šifro so šifrirali sporočila tako, da je vsaka stran knjižice bila uporabljena za šifriranje samo enega sporočila. Ranljivost Vigenerjeve šifre je en sam ključ. Z novo tehniko, ki je vpeljala naključno generirane ključe šifriranja, v šifriranem besedilu ni bilo mogoče odkriti enovitega ključa za dešifriranje.

(25)

Za dešifriranje sporočila, šifriranega s ključem dolžine 21 črk, s preizkušanjem, bi morali preizkusiti do 500 x 1027 ključev, pri čemer bi se utegnilo več dešifriranih sporočil zdeti berljivih. Tehnika se je ohranila do današnjega dne, imenujemo pa jo OTLP (One Time Letter Pad) in se uporablja za šifriranje strogo zaupnih podatkov.

Nedvomno je čas vojne krojil in pospeševal družbeni in tehnološki napredek. V prvi svetovni vojni se je pokazala pomembna vloga kriptografije in teža posledic šibkega šifriranja, kar je botrovalo odkritju OTLP. Druga svetovna vojna pa je vlogo kriptografije postavila v samo središče vojaških in političnih strategij, kjer je ostala vse do danes (Bleakley, 1991; Richelson, 1999).

Zgodovinsko znano je tudi delovanje tajnega projekta Ultre, skupine kriptografskih strokovnjakov, ki so prestregali in dešifrirali sporočila sil osi. Med najbolj znane dosežke štejemo prispevke k razbitju kode nemške Enigme.

Enigma je bila družina kriptografskih strojev. Prvo različico je razvil Nemec Arthur Scherbius in jo patentiral leta 1919. Enigmo so za kriptirano komunikacijo uporabljale številne vojske, ne le nemška. Tekste, kriptirane z eno različico Enigme, so dešifrirali poljski kriptoanalitiki Marian Rejewski, Jerzy Różycki in Henryk Zygalski. Trojica je z dostopom do delujoče Enigme z obratnim inženirstvom razvila orodja za razbitje šifre Enigme, eno teh orodij pa je kriptološka bomba.

Enigmo so sestavljali rotorji, medsebojno povezani diski s 26 črkami, razvrščenimi krožno po disku. Vsak od diskov je predstavljal drugačno substitucijsko šifro, torej lahko Enigmo razumemo kot mehansko polialfabetsko šifro. Operater Enigme je besedilo, ki ga je bilo treba šifrirati, vnašal preko tipkovnice. Enigma je vsak vnesen znak šifrirala z drugim substitucijskim ključem. Na drugi strani je prejemnik v Enigmo vnesel šifrirano besedilo, ki ga je lahko razbil le, če je Enigma imela enako konfiguracijo rotorjev kot stroj, ki je besedilo šifriral.

(26)

Slika 2: Stroj Enigma (Easttom, 2015)

Družino Enigme so sestavljali različni modeli; (1) Enigma A, prva različica, (2) Enigma B, (3) Enigma C, (4) Enigma B, ki so jo uporabljali Združeno kraljestvo, Japonska, Švedska in ostali, (5) Mornariška šifra D, ki jo je uporabljala italijanska mornarica, (6) Funkschlüssel C, ki jo je uporabljala nemška mornarica v začetku leta 1926, (7) Enigma G, ki jo je uporabljala nemška vojska, (8) Wehrmacht Enigma I, razširitev Enigme G, različica, ki jo je nemška vojska uporabljala najpogosteje, in (9) M3 izboljšana Enigma, ki jo je leta 1930 začela uporabljati nemška vojska.

Ostali sistemi so bodisi izhajali iz Enigme ali bili konceptualno podobni, med njimi japonski GREEN, sistem SIGABA, NEMA in drugi.

Pomembno vlogo pri razbitju šifre je igral Alan Turing, angleški matematik in kriptolog, ki velja za pionirja modernega računalništva. V času druge svetovne vojne je Turing delal za skrivni vladni projekt Ultra, ki je deloval v Bletchley Parku pod okriljem MI6 (britanske obveščevalne službe). Na podlagi dognanj poljskih kolegov je razvil elektromehanski stroj, ki ga danes poznamo kot Turingovo bombo, ki je dešifrirala inačico Enigme. Turing je vodil ekipo, ki je uspešno razbila šifro Enigme, ki jo je uporabljala nemška mornarica. Delo, ki so ga opravljali, je bilo strogo zaupno. Predvideva se, da se je na račun Turingovega uspeha vojna skrajšala za dve leti, s čimer je Turing posredno rešil milijone življenj (Easttom, 2015; Smith, 1998).

(27)

Z digitalizacijo sveta in porastom uporabe osebnih računalnikov v vsakdanji rabi se je pojavila potreba po varni digitalni komunikaciji. Leta 1976 je ameriški inštitut za standard in tehnologijo na javnem natečaju izbral DES (DATA ENCRYPTION STANDARD), algoritem šifriranja, ki temelji na IBM-ovem algoritmu iz leta 1974.

Algoritem DES temelji na simetrični kriptografiji, ključa za šifriranje in dešifriranje podatkov sta enaka. Šifrirajo se bloki podatkov velikosti 64 bitov, in sicer s 64-bitnim ključem, ki ga morata poznati tako pošiljatelj kot prejemnik.

Hkrati je leta 1975 Whitfield Diffie s kolegoma Martinom Hellmanom in Ralphom Merklom razvil koncept šifriranja z uporabo asimetričnega ključa, kar je odprlo poligon za razvoj kriptiranja podatkov z javnim in zasebnim ključem.

V prakso so njihovo delo vpeljali Ron Rivest, Adi Shamir in Leonard Adleman, po katerih algoritem RSA nosi ime. Gre za asimetrično šifriranje, torej uporablja javni in zasebni ključ.

Varnost algoritma temelji na zahtevnosti iskanja faktorjev velikih števil. Javni in zasebni ključ sta lahko sestavljena iz velikih (300–400 števk) praštevil. Kljub temu da je sam postopek kreiranja ključev znan, je dešifriranje sporočila z javnim ključem izjemno zahtevna računska naloga, ki ji tudi sodobni računalniki niso kos (Schneier, 1996; Beckett, 1997).

2.2. Steganografija

Za razliko od kriptografije, ki za prikrivanje informacij uporablja šifre, steganografija zavaruje podatke tako, da jih skrije v drug medij in prikrije obstoj samega skritega sporočila. Nihče razen pošiljatelja in prejemnika ne ve, da medij vsebuje prikrito sporočilo.

Prednost, s katero se steganografija ponaša pred kriptografijo, je, da je sporočilo skrito v povsem običajen medij, ki ne vzbuja pozornosti. Ker je sam obstoj sporočila skrit, je verjetnost, da je izpostavljeno razkritju, majhna. Za dodatno varnost so sporočila, skrita z metodo steganografije, velikokrat tudi kriptirana.

Korenine steganografije segajo daleč v zgodovino. Kitajci so na kos svile zapisali sporočilo, nato pa svilo zvili v majhen klobčič in prelili z voskom. Voščeno kroglico je pogoltnil sel. Tudi, če je nasprotnih prestregel sla in ga temeljito preiskal, sporočila ni odkril zlahka.

(28)

V Grčiji so slu obrili glavo in sporočilo zapisali na golo kožo, nato pa počakali, da lasje zrasejo nazaj. O tej metodi steganografije je pisal grški zgodovinar Herodot, z njo pa naj bi Grke posvarili o načrtovanem napadu Perzijcev.

Še ena metoda steganografije, ki izvira iz Grčije, je zapis na zložljivo leseno mizo, ki so jo nato prekrili z voskom, da bi zakrili sporočilo. Prejemnik je nato odstranil voščeno plast, da je prišel do sporočila. To metodo naj bi uporabil Demarat, ki je posvaril Špartance pred invazijo Kserksesa.

V 4. stoletju pred našim štetjem je Grk Enej (z vzdevkom Taktik) pisal o vojnih strategijah in velja za enega prvih strategov, ki je pisal o varovani vojaški komunikaciji.

»Tisti, ki sodelujejo z izdajalci, morajo vedeti, kako pošiljati sporočila. Sel naj odkrito nosi sporočilo o nekih drugih stvareh. Skrito sporočilo naj bo všito v podplat sandalov, ki jih sel nosi, da bo varovano od vode in blata, brez njegovega vedenja. Ko sel doseže cilj, naj preda odkrito sporočilo. Ponoči, ko bo sel spal, naj prejemnik sporočila odstrani šive na podplatu sandalov in vzame skrito sporočilo, na njegovo mesto pa postavi svoj odgovor in popravi šive. Naslednji dan naj prejemnik sporočila slu preda odprto sporočilo, ki ga naj vrne kot odgovor pošiljatelju.

Tako nihče, tudi sel, ne bo vedel za obstoj skritega sporočila (Enej, 4. st. pr. n. š.)« (Kahn, 1996).

Leta 1499 je Johannes Trithemius (1462–1516) napisal delo v treh knjigah z naslovom Steganographia, v katerih je ta pojem prvič omenjen. Delo govori o okultizmu, med vrstice dela pa so skriti teksti o kriptografiji in steganografiji (Easttom, 2015).

Steganografske metode prikrivanja skritega sporočila se uporabljajo tudi v modernih časih.

Vrsta programskih orodij in metod nam omogoča, da želeno sporočilo skrijemo v digitalne medije, kot so slike, videi, zvočni posnetki in drugi.

Primer steganografije je tudi Kardansko rešeto, ki ga bomo natančneje obravnavali v naslednjem poglavju.

(29)

2.3. Kardansko in vrteče se rešeto

2.3.1. Girolamo Cardano

Girolamo Cardano, rojen leta 1501 v Milanu, je bil italijanski fizik in matematik, znan po tem, da je v svojih delih znanost približal ljudem, prav tako pa je avtor prvega pisnega dela, ki obravnava teorijo verjetnosti.

Svoje delo je izdal v 131 knjigah in 111 rokopisih, v katerih je pisal o matematiki, astronomiji, astrologiji, fiziki, šahu, kockanju (kjer se je prvič ukvarjal z verjetnostnim izračunom), nesmrtnosti duše, čudežnih zdravilih, dialektih, smrti, Neronu, dragih kamnih in barvah, strupih, zraku, vodi, sanjah, urinu, zobeh, glasbi, morali in modrosti. Kljub vsem obravnavanim tematikam svojih razmišljanj in dognanj o kriptologiji ni izdal v posebni knjigi, temveč jih je strnil v dveh delih, s katerima je populariziral znanost, De Subtilitate in De Rerum Varietate.

Deli sta bili opremljeni s številnimi ilustracijami in vsebovali tako znanstvena dognanja tistega časa kakor tudi veliko ugibanj. Prevedeni sta bili v več jezikov in tiskani širom Evrope (Kahn, 1996).

2.3.2. Kardansko rešeto

Med Cardanova najbolj znana odkritja na področju kriptografije in steganografije uvrščamo Kardansko rešeto.

Kardansko rešeto (Slika 3) je steganografsko orodje pravokotne oblike iz tršega materiala, na primer kartona, usnja ali kovine, v katerega so vrezane pravokotne luknje višine pisane vrstice besedila. Vrezane luknje so poljubne dolžine in poljubne razporeditve. Rešeto se položi na papir in v luknje rešeta se zapiše skrivno sporočilo. Rešeto se nato umakne in na papir zapiše preostanek besedila tako, da tvori smiselno celoto in zakrije obstoj skritega sporočila.

Cardanov predlog je bil, naj se tako sestavljeno besedilo prepiše vsaj trikrat, da se zakrijejo morebitne nepravilnosti. Da bi sporočilo dešifrirali, rešeto preprosto položimo na besedilo in skrito sporočilo se razkrije skozi luknje rešeta.

(30)

To metodo steganografije je uporabljalo več držav za diplomatsko korespondenco v 16. in 17.

stoletju (Kahn, 1996).

Slika 3: Kardanska rešetka (Easttom, C., 2015)

2.3.3. Vrteče se rešeto

S časom se je tehnika rešeta spreminjala in razvijala. Na začetku 20. stoletja so uporabljali t. i.

vrteče se rešeto (angl. Turning Grille). V tem primeru gre za rešeto kvadratne oblike, ki je deljeno na kvadratne celice. Četrtina celic je izluknjanih v vzorec, ki, ko obračamo rešeto skozi vse štiri pozicije, razkrije vsako celico na papirju pod rešetom natanko enkrat. Čeprav sta si Kardansko rešeto in vrteče se rešeto zelo različni, je v literaturi pogosto moč zaslediti enako imenovanje (Kahn, 1996).

Slika 4: Vrteča se rešetka (Kahn, D., 1996)

(31)

Položaj celice rešeta po rotaciji za 90° v smeri urinega kazalca lahko opišemo s funkcijo:

𝑓(𝑥, 𝑦) = {𝑥 = 𝑛 − 𝑦 + 1 𝑦 = 𝑥

, pri čemer je n naravno število, ki predstavlja število celic na stranici rešeta.

V spletni aplikaciji, ki smo jo izdelali v sklopu tega diplomskega dela, obravnavamo pojem steganografije in Kardansko rešetko, vrtečo se rešetko, na kateri temeljijo naloge v aplikaciji.

(32)

3. TEORETSKO OZADJE

V tem poglavju bomo obravnavali teoretična izhodišča, ki pojasnjujejo didaktične modele za poučevanje abstraktnega razmišljanja, kar je namen spletne aplikacije Programsko orodje za simulacijo Kardanske rešetke. Ta spodbuja učence k računalniškemu, abstraktnemu in problemskemu razmišljanju, ki postaja temelj sodobnih pristopov za poučevanje računalništva. Opisali bomo učenje s pomočjo animacij in simulacij ter poglavje zaključili z Mayerjevo kognitivno teorijo za učenje z večpredstavnostjo, saj smo omenjena teoretična izhodišča upoštevali pri snovanju spletne aplikacije.

3.1. Računalniško razmišljanje

V preteklosti se je pri poučevanju računalništva veliko poudarka namenilo obravnavi nekega problema iz stališča »kako« (npr. kako uporabljati nek program) ali »kaj« (npr. kaj je končni izdelek). Način poučevanja je deloma pogojen z ekonomskimi potrebami družbe. Tak pristop k poučevanju ima slabosti, saj ekonomske potrebe družbe čedalje močneje slonijo na tehnoloških inovacijah in ne le spretni uporabi tehnologije. Obenem se tehnologija spreminja s tako hitrostjo, da utegnejo priučena znanja zastarati, preden učenec zaključi s šolanjem, prav tako pa tehnologija prodira v domala vsa področja življenja, zaradi česar konkretno aplikativna znanja predstavljajo le majhen nabor računalniških znanj.

Sodobnejši pristop k poučevanju računalništva si prizadeva učencem priučiti veščine, ki bi jih delale neodvisne pri učenju in kritični obravnavi problemov ali morda celo snovanju novih tehnologij. Skozi pouk računalništva bi učenec moral pridobiti konkretna znanja ter se naučiti odprtega pristopa k problemskemu razmišljanju oziroma razviti t. i. računalniško razmišljanje.

Da bi učenci razumeli tehnologijo in njeno spreminjanje, jo znali uporabljati in razvijati, morajo poznati odgovore ne le na vprašanji »kaj« in »kako«, temveč tudi »zakaj«. Tak pristop k obravnavi nekega kompleksnega problema nudi računalniško razmišljanje, nabor kognitivnih veščin, s katerimi problem razbijemo na enostavnejše enote, ki jih lahko obravnavamo tudi z računalnikom (Curzon, Dorling, Ng, Selby in Woollard, 2014).

(33)

J. Wing, ki je zaslužna za popularizacijo ideje računalniškega razmišljanja, je termin definirala kot miselne procese, »ki so vključeni pri formuliranju problemov in njihovih rešitev, pri čemer so rešitve v taki obliki, da jih lahko učinkovito izvaja informacijsko-procesni agent.« Ta agent je lahko človek, računalnik ali kombinacija obojega (Cuny, Snyder in Wing, 2010, v Curzon idr., 2014)

Računalniško razmišljanje je vrsta analitičnega razmišljanja, povezujemo pa ga z logičnim, sistemskim, algoritmičnim in vzporednim razmišljanjem. Računalniško razmišljanje je deloma matematično razmišljanje v smislu pristopa k reševanju problemov, deloma inženirsko razmišljanje v smislu pristopa k ustvarjanju in evalvaciji kompleksnih sistemov, ki v realnosti delujejo, in deloma znanstveno razmišljanje v smislu pristopa k razumevanju izračunljivosti, inteligence, uma in človekovega vedenja (Wing, 2011).

Selby in Woollard (2013) strneta pet temeljnih konceptov, ki nastopajo pri računalniškem razmišljanju, podrobneje pa so razloženi v Curzon idr. (2014):

Algoritmično razmišljanje – iskanje rešitve z jasno definiranimi koraki. Posameznik ne išče enega samega odgovora, temveč množico sistematiziranih postopkov in pravil, ki jim je treba natančno slediti, da bi prišli do rešitve dotičnega ali podobnega problema.

Vrednotenje – proces, v katerem se posameznik prepriča, da je izdelan algoritem pravilen – služi namenu. Sem spada vrednotenje algoritma z vidika pravilnosti, hitrosti, učinkovitosti in razumljivosti. V procesu vrednotenja se mogoče algoritem spreminja na podlagi ugotovljenih rezultatov.

Razčlenitev – način obravnave problemske situacije, algoritma, procesov in sistemov kot sestavljenih celot. Dele, ki sestavljajo celoto, je mogoče razumeti, reševati, razvijati in vrednotiti ločeno. S tem kompleksno problemsko situacijo razbijemo na manjše, lažje rešljive dele.

Abstrakcija – sodi med načine, s katerimi problem ali sistem poenostavimo. Pri abstrakciji govorimo o prikrivanju odvečne kompleksnosti. Ključno je izbrati pravilno podrobnost, ki jo namensko skrijemo, da problem poenostavimo, brez izgube informacij. Z abstrakcijo lažje snujemo kompleksne algoritme ali celotne sisteme.

(34)

Posplošitev – s posplošitvijo hitreje pridemo do rešitve problemov na podlagi rešitev, ki smo jih že poiskali pri podobnih problemih. Izdelan algoritem, ki predstavlja rešitev neke določene problemske situacije, priredimo tako, da ga je mogoče uporabiti za niz sorodnih problemskih situacij.

Z računalniškim razmišljanjem povezujemo različne načine razmišljanja in spretnosti, ki jih učenci razvijajo pri različnih predmetih in ne le tistih, ki so povezani z računalništvom. S ciljem, da bi ostale pismenosti (bralne, matematične, naravoslovne) povezali z računalniško pismenostjo oziroma razvojem zmožnosti za reševanje kompleksnih problemov, kot pri računalniškem razmišljanju, bomo opisali rezultate zadnjih PISA raziskav na nivoju OECD.

3.2. PISA

Program mednarodne primerjave dosežkov učencev PISA (Programme for International Student Assessment) je dolgoročen projekt primerjanja znanja ter spretnosti učenk in učencev v državah članicah Organizacije za ekonomsko sodelovanje in razvoj (OECD) in državah partnericah. Raziskava je bila v mednarodnem prostoru prvič izvedena leta 2000 in od takrat države na tri leta ugotavljajo ravni bralne, matematične in naravoslovne pismenosti učenk in učencev, starih 15 let, kar je za večino držav približno ob koncu obveznega izobraževanja. V Sloveniji so v raziskavo vključeni praviloma dijakinje in dijaki prvih letnikov srednjih šol in gimnazij. Skupaj s šolami raziskavo PISA v Sloveniji izvaja Pedagoški inštitut. Leta 2012, ko je bila raziskava osredotočena na matematično pismenost, je v raziskavi sodelovalo okoli 510 000 učenk in učencev iz 65 držav, kar predstavlja reprezentativno skupino za okoli 28 milijonov 15-letnikov. V Sloveniji je v raziskavi sodelovalo 8405 dijakinj in dijakov ter učenk in učencev.

Sodelovale so vse slovenske gimnazije in srednje šole oz. 327 srednješolskih izobraževalnih programov, ob tem pa še 24 osnovnih šol in ena ustanova za izobraževanje odraslih. V raziskavi PISA so zbrani tudi spremljajoči podatki iz osebnega in šolskega okolja sodelujočih učenk, učencev, dijakinj in dijakov.

Na področju matematične pismenosti so slovenski učenci in učenke v poprečju dosegli 501 točko, dosežek je pomembno višji od povprečja OECD (494 točk). Dosežek slovenskih učenk in

(35)

učencev je statistično podoben dosežkom učencev v Avstriji, Avstraliji, Irski, Danski, Češki in Novi Zelandiji (Štraus, Šterman Ivančič in Štigl, 2013).

Na področju problemskega razmišljanja oziroma reševanja nalog, ki zahtevajo kompleksnejše problemsko razmišljanje, izviren pristop ter abstraktno razmišljanje in prostorsko predstavo, so slovenski učenci in učenke v povprečju dosegli 476 točk, kar je pomembno nižje od povprečja OECD (500 točk). Zanimiva ugotovitev je, da so učenci držav, s katerimi so slovenski učenci imeli primerljiv dosežek na področju matematične pismenosti, na področju problemskega razmišljanja vsi dosegli povprečen ali nadpovprečen rezultat. Slednje ne velja za Novo Zelandijo, za katero za področje problemskega razmišljanja ni podatka o doseženem povprečju.

PISA 2012 definira kompetenco problemskega razmišljanja kot »… sposobnost posameznika, da miselno obravnava situacijo ali problem, katerega rešitev je sistematizirana in ne očitna. V kompetenco je vključena tudi želja po tovrstnem delovanju s ciljem razvoja posameznikovega potenciala (PISA 2012 Results, 2014).«

Miselni procesi, ki so vključeni v problemsko razmišljanje, so povzeti v štirih sklopih:

Raziskovanje in razumevanje – sem spada raziskovanje problemske situacije z opazovanjem, interakcijo in iskanjem informacij ter morebitnih omejitev in ovir. Razumevanje podanih in z odkrivanjem pridobljenih informacij.

Predstavitev in formulacija – uporaba tabel, grafov, simbolov in besed za predstavitev celote ali delov problemske situacije, formuliranje hipotez z relevantnimi parametri problemske situacije in formuliranje odnosov med njimi za ustvarjanje koherentne miselne predstave o problemski situaciji.

Načrtovanje in izvedba – izdelava načrta ali strategije za rešitev problemske situacije in izvedba. V tem sklopu lahko govorimo o razjasnitvi celostnega cilja, razdelavi kompleksnega primera na manjše in manj kompleksnejše probleme itn.

Preverjanje in vrednotenje – preverjanje procesa rešitve in odzivanje na ugotovitve.

Vrednotenje pridobljenih informacij ali izdelane rešitve oziroma strategije.

Za razumevanje problemskih situacij so učenci morali prepoznati razliko med dejstvi in mnenji, pri formulaciji rešitve so morali prepoznati odnose med spremenljivkami, pri izbiri strategije

(36)

za rešitev so morali upoštevati vzroke in posledice strategije in pri vrednotenju rešitve kritično vrednotiti hipoteze in obravnavati alternativne rešitve. Med drugim v procesu spopadanja s problemskimi nalogami v PISI učenci uporabljajo deduktivno, induktivno, analitično in kombinatorično razmišljanje (OECD, 2014).

Opisane kompetence za uspešno reševanje problemskih nalog v PISA 2012 imajo torej močne vzporednice s temeljnimi koncepti računalniškega razmišljanja:

 Formuliranje hipotez in algoritmov

 Načrtovanje, razčlenjevanje

 Preverjanje in vrednotenje

V naslednjem podpoglavju bomo opisali osnove kognitivne teorije, s pomočjo katere učitelji snujejo didaktične modele za razvoj abstraktnega razmišljanja ter posledično med učenci razvijajo zmožnosti za reševanje kompleksnih problemov. Opisali bomo neo-Piagetovo teorijo kognitivnega razvoja, ki je v zadnjih časih najbolj popularna teoretična osnova za uvodno poučevanje programiranja.

3.3. Neo-Piagetova teorija kognitivnega razvoja in učenje abstraktnega razmišljanja

Izkušen programer je tisti, ki si je zmožen zapomniti, razumeti in aplicirati programerske koncepte, analizirati in vrednotiti delovanje programa in nenazadnje samostojno izdelati program (Krathwohl, 2002). Za izkušenega programerja je značilna visoka stopnja abstraktnega razmišljanja, katerega razvoj na tem področju in tranzicijo učencev iz nižjih do višjih kognicijskih stopenj raziskuje Donna Teague, strokovnjakinja na področju poučevanja računalništva.

Razlog, da imajo učenci težave z učenjem programiranja, ne leži v predpostavki, da za to niso dovolj pametni, da preprosto niso rojeni s talentom ali da je programiranje prezahtevna domena. Programiranje zahteva abstraktno razmišljanje, ki se razvija sekvenčno in kumulativno. To zavedanje je pomembno pri poučevanju programiranja, pri čemer naj bi

(37)

učitelj prepoznal kognitivno stopnjo učenca in na podlagi te pripravljal dejavnosti za napredovanje v višjo kognitivno stopnjo (Teague, 2015).

V številnih raziskavah so strokovnjaki raziskovali programerske kompetence učencev skozi klasično Piagetovo teorijo kognitivnega razvoja, vendar nobena raziskava ne nudi jasnih vzporednic med proučevanimi kompetencami in modelom, ki ga ta teorija narekuje.

Piaget je raziskoval kognitivni razvoj otrok in svoje ugotovitve strnil v konstruktivistično teorijo z diskretno ločenimi razvojnimi stopnjami, skozi katere posameznik prehaja od rojstva do odraslosti. Piaget trdi, da posameznikovo doživljanje sveta temelji na miselnih shemah, temeljnih enotah inteligentnega vedenja in operacijah, ki so logični postopki ravnanja z odnosi med shemami. Stopnje si sledijo v točno določenem vrstnem redu, teorija predvideva okvirno starost posameznika, ko dosega stopnje, in vsaka stopnja je opredeljena s svojimi značilnostmi (Helmore, 1969; Flavell, 1977; Shayer in Adey, 1981; Huber, 1988; Ojose, 2008):

Senzomotorična stopnja (0 do 2 leti)

 Stopnja pred samozavedanjem

 Koordinacija vida in giba

 Začetek razvoja govora

 Manipulacija z objekti s poskušanjem

 Učenje z interakcijo

 Začetek razumevanja koncepta objekta, začetek razlikovanja sebe in objekta

 Povezovanje objektov in števil

Predoperativna stopnja (2 do 7 let)

 Dominantno zaznavno doživljanje (npr. več vode je v ožjem kozarcu, ker je gladina višje)

 Centracija mišljenja (osredotočenost na en sam vidik situacije)

 Stadijska centracija (osredotočenost na statično stanje dogodka, navadno sedanjosti)

 Nepovratnost (mišljenje v eno smer, ki ga otrok ni sposoben preveriti v nasprotni smeri)

 Pomanjkanje konzervacije

 Mešanje objektov in simbolov, ki objekte predstavljajo

(38)

 Pomanjkanje miselnih predstav

 Transduktivno razmišljanje

 Egocentrizem

 Težave pri razredni vključitvi (ne razumevanje odnosov med celimi razredi in podrazredi)

 Doživljanje situacije skozi en sam pojem (spremenljivko, dimenzijo) hkrati Stopnja konkretno logičnega mišljenja (7 do 11 let)

 Sklepanje

 Decentralizacija

 Razumevanje transformacije objektov

 Obrnljivost mišljenja

 Začetek logičnega mišljenja

 Tvorjenje miselnih predstav

 Multipla klasifikacija

 Konzervacija

 Seriacija

 Razredna vključitev

 Pomanjkanje kritične obravnave

Stopnja formalno logičnega mišljenja (11 let in naprej)

 Prepoznavanje objektov in ne sestavnih delov objekta

 Sposobnost opredelitve ključnih gradnikov situacije

 Razmišljanje je zunaj okvirjev zaznavnega in ni osredotočeno na konkretno situacijo

 Kritično in logično razmišljanje

 Izdelava hipotez, organizacija zaključkov in induktivno ter deduktivno razmišljanje

 Doživljanje situacije skozi več pojmov (spremenljivk, dimenzij) hkrati

 Razvoj abstraktnega razmišljanja

Neo-Piagetova teorija je razširitev klasične Piagetove teorije. Knight in Sutton (2004) povzemata naslednje koncepte, ki izhajajo iz klasične Piagetove teorije in se ohranjajo v neo- Piagetovi:

(39)

 Organizacija miselnih značilnosti, kot so stopnje in sheme

 Konstruktivizem

 Miselne strukture postajajo kompleksnejše z odraščanjem in izkušnjami

 Kompleksnejše in bolj abstraktno razmišljanje je grajeno na prej osvojenem znanju in razmišljanju na prejšnji stopnji

 Razvojne stopnje si sledijo zaporedno, a niso pogojene s starostjo

Večina stroke, ki se ukvarja s klasično Piagetovo teorijo, meni, da razvoj posameznika skozi razvojne stopnje poteka sinhrono na vseh področjih (Beard, 1969; Boden, 1979; Fischer in Kenny, 1986).

Neo-Piagetova teorija temelji na predpostavki, da je miselni razvoj pogojen s konkretnim predznanjem. V tem primeru je povsem mogoče, da je posameznik na različnih stopnjah miselnega razvoja na različnih področjih, denimo oseba, ki je na stopnji formalno logičnega razmišljanja na nekem področju (npr. igranje šaha), ni nujno na enaki stopnji na nekem drugem področju (npr. glasba).

(40)

Primerjavo med klasično in Neo-Piagetovo teorijo Teaguejeva povzema v spodnji tabeli:

Klasična Piagetova teorija Neo-Piagetova teorija Se ukvarja s splošnim miselnim razvojem

otrok

Se ukvarja z miselnim razvojem

posameznikov, ne glede na starost, pri učenju novih znanj

Otrok na določeni razvojni stopnji kaže enako stopnjo razmišljanja na vseh miselnih področjih

Ker so miselne zmožnosti posameznika pogojene z njegovim znanjem in izkušnjami na konkretnem področju, lahko na drugem področju izkazuje drugačno Piagetovo stopnjo miselnega razvoja, zato …

<nadaljevanje v spodnji vrstici>

Poznamo konkretna preverjanja in preizkuse za določitev posameznikove stopnje miselnega razvoja.

… ni mogoče posplošiti preizkusov ali preverjanj, ki bi posameznika enovito umestila v neko stopnjo miselnega razvoja.

Predvideva umestitev v določeno razvojno stopnjo glede na starost, kljub empiričnim dokazom, ki kažejo na močna odstopanja zaradi kulturnih in okoljskih dejavnikov (Cole, 1996)

Umeščenost posameznika v določeno stopnjo in napredovanje v naslednjo ni pogojeno s starostjo, temveč konkretnim predznanjem na določenem področju.

Otrok je dlje časa na določeni stopnji miselnega razvoja, za tem naglo preide v naslednjo.

Prehajanje iz nižje v višjo stopnjo miselnega razvoja ni diskretno, temveč prekrivajoče se in valovito.

Tabela 1: Primerjava klasične Piagetove in neo-Piagetove teorije

Po neo-Piagetovi teoriji je čas, ki ga posameznik potrebuje, da s senzomotorične stopnje preide na stopnjo formalno logičnega mišljenja, različen od posameznika do posameznika. Po klasični teoriji je posameznik dlje časa na določeni stopnji miselnega razvoja, za tem pa naglo preide v naslednjo. Ko enkrat preidejo v višjo stopnjo, se ne vračajo več na nižjo. Ta predpostavka ima dve šibkosti, in sicer empirično – raziskave ugotavljajo, da posamezniki hkrati kažejo značilnosti razmišljanja, ki jih povezujemo z različnimi miselno razvojnimi stopnjami, ter filozofsko – kako in zakaj posameznik naenkrat preide v višjo stopnjo miselnega razvoja. Nekateri neo-Piagetovski teoretiki pojasnjujejo prehode med stopnjami z modelom prekrivajočih se valov. Ko oseba usvaja nova znanja novega področja, prevladujejo značilnosti nižje miselno razvojne stopnje. S spreminjanjem in nadgrajevanjem miselnih shem se veča prisotnost značilnosti višje miselno razvojne stopnje in niža prisotnost značilnosti nižje. S tem na neki točki oseba hkrati kaže značilnosti dveh različnih miselno razvojnih stopenj (Siegler, 1996; Boom, 2004; Feldman, 2004; Teague, 2015). Ilustracija modela prekrivajočih se valov na spodnji sliki (Slika 5):

(41)

Slika 5: Model prekrivajočih se valov (Siegler, 1996)

V svojih raziskavah Teague (2015) odkriva, da imajo učenci pri učenju programiranja težave že na zelo zgodnji stopnji učenja, še preden se vpeljujejo netrivialni koncepti. Ugotavlja, da se miselni razvoj učencev pri učenju programiranja razvija skladno s stopnjami miselnega razvoja neo-Piagetove teorije, prav tako se jasno kažejo značilnosti posameznih stopenj kot na primer nerazumevanje, nezmožnost sledenja in pisanja kode, ozka ali napačna osredotočenost, nezmožnost abstraktnega razmišljanja. Zaključuje, da učenci, ki se učijo programiranja in se uvrščajo v senzomotorično miselno razvojno stopnjo, napredujejo na predoperativno stopnjo, nato na stopnjo konkretnega logičnega mišljenja in nazadnje na stopnjo formalnega logičnega mišljenja po modelu prekrivajočih se valov. Programerji začetniki razvijajo razmišljanje v različnih tempih, ključnega pomena pa je zadostna izpostavljenost problemskim situacijam, ki razvijajo razmišljanje določene miselno razvojne stopnje, preden lahko napredujejo na naslednjo.

Prav to dognanje je motiv za strukturo učnega gradiva, ki je predmet te diplomske naloge.

Naloge spletne aplikacije, ki smo jo izdelali, od uporabnika zahtevajo razmišljanje na stopnji konkretno logičnega in formalno logičnega razmišljanja. Ključni del spletne aplikacije je vadnica, ki predstavlja poligon, na katerem uporabnik utrjuje in gradi prostorske in abstraktne miselne sheme z namenom polnega napredovanja na stopnjo formalno logičnega razmišljanja.

(42)

3.4. Učenje z animacijo in simulacijo

Wilensky vidi računalniško razmišljanje ter računalniško simulacijo kot močni in univerzalni orodji pri učenju, neodvisni od znanstvenega področja. Prednost računalniške simulacije informacij v primerjavi z običajnimi predstavitvami je ta, da računalniška simulacija lahko oriše proces in obnašanje nekega pojava, dejstva predstavi na preverljiv način, lahko je skalabilna in mogoče jo je predstaviti grafično (Wilensky, 2014).

Računalniške simulacije so interaktivna programska orodja, s pomočjo katerih posamezniki raziskujejo neko novo situacijo in odnose med spremenljivkami, ki to situacijo tvorijo v resničnem svetu. Učenci s pomočjo simuliranega okolja lahko preverjajo in preizkušajo svoje hipoteze s spreminjanjem parametrov in opazovanjem učinka, ki ga sprememba povzroči (Homer, Lee in Plass, 2006).

Zaradi lastnosti simulacije, da prikazuje informacije dinamično in vizualizira kompleksne koncepte, med pedagogi služi kot pogosto izbrano sredstvo za poučevanje zahtevnejših in kompleksnejših tem, za poučevanje reševanja problemskih situacij ter pojavov, ki so človeškemu očesu nevidni (Reigeluth in Schwartz, 1989).

O vlogi animacije pri učenju pišeta tudi Mayer in Moreno, 2002, ki jo opisujeta kot močno učno orodje. Njuno delo se ukvarja z vprašanjem, kako in kdaj uporabiti animacijo, da vzpodbudimo proces učenja. Ugotavljata, da je animacijo oz. simulacijo treba oblikovati na način, ki spoštuje postopek učenja. Svoja dognanja utemeljita s kognitivno teorijo učenja z večpredstavnostjo:

(43)

3.4.1. Kognitivna teorija učenja z večpredstavnostjo

Do učinkovitega učenja pride, kadar učenec aktivno oblikuje pridobljene informacije v medsebojno odvisno miselno predstavo celote. Teorija sloni na treh predpostavkah, ki izhajajo iz dosedanjih dognanj na področju raziskav kognicije:

Dvojni kanali procesiranja

Pri učenju informacije prejemamo preko dveh kanalov. Preko prvega doživljamo slikovne informacije in preko drugega zvočne informacije (Baddeley, 1998; Paivio, 1986)

Končna kapaciteta, kognitivno breme

Pri učenju je vsak od kanalov zmožen hkrati obravnavati končno omejeno količino informacij (Baddeley, 1998; Sweller, 1999)

Aktivno procesiranje

Učenje je najučinkovitejše, kadar je učenec aktivno vključen v miselni proces, na primer z izbiro in prepoznavanjem relevantnih informacij, organizacijo teh v povezano miselno predstavitev celote in vključevanjem naučenega v že obstoječe znanje (Mayer v Wittrock, 1974).

Spodnja slika (Slika 6) povzema proces učenja po kognitivni teoriji učenja z večpredstavnostjo.

Govorjeno navodilo posameznik sliši, iz navodila izbere relevantne besede za nadaljnjo obdelavo v verbalnem sistemu. Besede organizira po načelu vzročno-posledičnosti in nazadnje to združi z informacijami vizualnega sistema ter z že obstoječimi informacijami. Animacijo posameznik zazna z vidom, zgodi se postopek izbire relevantnih slikovnih informacij za nadaljnjo obdelavo v vizualnem sistemu. Slikovne informacije spet organizira po načelu vzročno-posledičnosti in to združi z informacijami verbalnega sistema ter z že obstoječimi informacijami. Implikacija te teorije je, da je večpredstavnostno gradivo najbolj učinkovito, če so vsebinsko povezane enote predstavljene preko vizualnega in verbalnega medija.

(44)

Slika 6: Shema kognitivne teorije učenja z večpredstavnostjo (Mayer E. R., 2002)

Rezultate raziskav, ki sta jih izvajala Mayer in Moreno pri proučevanju, kdaj in v kakšnih pogojih večpredstavna gradiva vzpodbujajo učenje, strneta v sedem načel, ki so skladna s kognitivno teorijo učenja z večpredstavnostjo (Mayer in Moreno, 2002):

1. Načelo večpredstavnosti

Učenje je učinkovitejše, če so informacije podane z animacijo in besedilom, kakor če so podane samo z besedilom. Načelo sloni na ugotovitvi, da učenci lažje gradijo miselno predstavo o nekem pojmu, če je ta predstavljen preko več medijev. Da bi učenec zgradil celostno miselno predstavo pojma, mora sam graditi predstavo segmenta pojma, ki ga ne predstavimo z večpredstavnostjo. Načelo ne drži brezpogojno za vsako animacijo, kar je začrtalo naslednja načela.

2. Načelo prostorske usklajenosti

Da bi učenje s pomočjo animacije bilo učinkovito, mora animacija oz. simulacija biti prostorsko umeščena v bližini opisa pojma, ki ga animira. V nasprotnem primeru se po nepotrebnem izgublja kognitivna kapaciteta, ko učenec išče animacijo ali del te, ki simulira pojem.

3. Načelo časovne usklajenosti

Učenje je učinkovitejše, če so verbalne in vizualne informacije podane hkrati. Učenec lažje gradi miselno predstavo o pojmu, če sta dva tipa informacij hkrati v delovnem spominu.

(45)

4. Načelo koherence

Učenje je učinkovitejše ob odsotnosti zunanjih oziroma s pojmom nepovezanih verbalnih, vizualnih ali avditornih dejavnikov (npr. glasba). Načelo sloni na ugotovitvi, da učenci v primeru prisotnosti prej navedenih dejavnikov del pozornosti in kognitivne kapacitete preusmerijo v te dejavnike, zaradi česar grajenje miselne predstave pojma poteka bistveno počasneje.

5. Načelo modalnosti

Učenje s pomočjo animacije je učinkovitejše, kadar so informacije podane v kombinaciji animacija – avditorna informacija (učenec sliši informacijo), kakor v primeru animacija – vizualna informacija (učenec bere informacijo). Načelo sloni na ugotovitvi, da lahko pride do preobremenitve vizualnega sistema obdelave informacij, kar povzroči pomanjkanje miselne kapacitete za povezovanje besed in slik, ki pojem opisujejo.

6. Načelo redundance

Učenje je učinkovitejše, kadar so informacije podane v kombinaciji animacija – avditorna informacija, kakor v primeru animacija – avditorna informacija – vizualna (pisana) informacija. Teoretsko ozadje je enako kot pri načelu modalnosti.

7. Načelo poosebljenosti

Učenje je učinkovitejše, kadar je jezikovni slog, s katerim se predaja verbalna informacija, neformalen oz. oseben (uporaba zaimkov »jaz« in »ti«). Načelo sloni na ugotovitvi, da je učenčev fokus močnejši, kadar se čuti osebno vključenega v proces.

Načela smo upoštevali pri izdelavi spletne aplikacije Programsko orodje za simulacijo Kardanske rešetke, ki hkrati predstavlja model za simulacijo, s katerim želimo vplivati na razvoj abstraktnega razmišljanja med učenci.

(46)

4. TEHNIČNA REALIZACIJA

V tem poglavju bomo obravnavali tehnologijo, s katero je bila realizirana spletna aplikacija Programsko orodje za simulacijo Kardanskega rešeta. Povzeli bomo lastnosti HTML5, na katerem temelji naša aplikacija, ter opisali pojme, tehnologije, knjižnice in okolja, s pomočjo katerih je bila ta realizirana, to so CSS3, PHP, JavaScript, JQuery, Ajax, MySql, Bootstrap in Heroku.

4.1. HTML5

HTML5 je trenutna in peta verzija tega standarda. HTML (Hyper Text Markup Language, slovensko jezik za označevanje nadbesedila) je označevalni jezik za izdelavo spletnih strani.

Predstavlja osnovo spletnega dokumenta. S HTML določamo zgradbo in semantični pomen delov dokumenta. Programski razčlenjevalnik v brskalniku (angl. »Parser«) dokument razčleni in brskalnik dokument prikaže. HTML dokument se lahko izdela v poljubnem urejevalniku besedil, saj je zapisan v obliki elementov HTML, ki so sestavljeni iz značk v kotnih oklepajih (npr. <p>) znotraj vsebine spletne strani. Značke HTML so običajno zapisane v parih, npr. <p>

in </p>. Prva značka se imenuje tudi začetna značka, druga pa končna značka. Znotraj para značk lahko oblikovalec spletne strani vpiše poljubno besedilo in tudi druge značke – gnezdenje značk (HTML5 Reference, https://dev.w3.org/html5/html-author/, 2016).

(47)

Preprost primer sintakse HTML5 dokumenta:

<!DOCTYPE html>

<html lang="en">

<head>

<title>Kardanska rešetka</title>

</head>

<body>

<p>"Pozdravljen svet!"</p>

</body>

</html>

Peta verzija standarda je izšla oktobra 2014 in predstavlja večji mejnik v razvoju HTML-ja, saj za razliko od prejšnjih inačic vključuje natančne modele procesov, ki omogočajo povezovanje različnih operacij; razširja ter z optimizacijo izboljšuje pretekle operacije s HTML dokumenti in prinaša programske vmesnike (angl. »API«), ki omogočajo razvoj kompleksnih spletnih aplikacij. Prav zato je tudi odlično sredstvo za razvijanje spletnih aplikacij, ki jih podpirajo različne platforme in mobilne naprave. Prinaša nabor novih elementov, ki lahko v številnih primerih nadomestijo funkcionalnost JavaScripta, pa tudi funkcije za delo z multimedijskimi vsebinami, shranjevanje podatkov brez povezave, povleci in spusti ter druge.

Standard prinaša tudi določene sintaktične spremembe, katerih posledica je bolj strnjena koda. V spodnjem primeru je navedena značka, ki brskalniku sporoči, da obravnava HTML dokument:

<!DOCTYPE html>

, ki se je v prejšnjih verzijah HTML-ja zapisal v precej daljši obliki:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

Standard je univerzalen in nudi podporo za vse jezike (Gornik, 2012).

(48)

Uporaba v aplikaciji: Aplikacija, ki smo jo izdelali, zajema novosti sintakse petega standarda HTML. Ogrodje vsake strani aplikacije je samostojen HTML dokument. Aplikacija vsebinsko in funkcionalno ne upošteva novosti, ki jih prinaša HTML5.

4.2. CSS3

CSS (Cascading Style Sheets, slovensko kaskadne stilske podloge) je nabor kaskadnih stilov, ki ga uporabljamo pri oblikovnem snovanju dokumentov, zapisanih v označevalnem jeziku (največkrat HMTL in XHTML). S CSS definiramo stil označevalnih elementov v smislu pravil, kako naj se ti prikažejo na strani. Določamo lahko barve, velikosti, odmike, poravnave, obrobe, pozicije in vrsto drugih atributov, prav tako pa lahko nadziramo aktivnosti, ki jih uporabnik nad elementi strani izvaja (npr. prekritje povezave z miško).

Bistvo uporabe CSS je, poleg definiranja pravil, predvsem ločitev strukture strani – ki jo podaja označevalni jezik skupaj z vsebino – od njenega videza. S tem omogočimo lažje urejanje in dodajanje stilov ter poskrbimo za večjo preglednost dokumentov, ki temeljijo na HTML sintaksi. Prav tako zmanjšamo ponavljanja kode, saj množici strani omogočimo uporabo istih podlog, kar lahko bistveno zmanjša njihovo velikost.

Pravila za označevanje in predstavitev predmeta je mogoče zapisati v različne vire, zato CSS prepoznava pravila, kateri izmed stilov naj se predpiše. Omogočeno je tudi zlivanje oz.

prepisovanje pravil iz več virov, kar imenujemo kaskadiranje. Vrednosti pravil z višjo prioriteto bodo prepisala tiste z nižjo, kar je predstavljeno v spodnjem seznamu prioritet, razvrščenem od najvišje do najnižje.

(49)

 Avtorjev stil – pridobljen s spletnega mesta, ki smo ga obiskali:

 Vrstični stil je definiran v notranjosti HTML elementa pod atributom style:

<p style="color: red;">vsebina odstavka</p>

 Vgrajen stil je definiran znotraj HTML dokumenta med značkami style:

<style type="text/css">

p {

color: red;

}

</style>

 Zunanji stil je definiran znotraj CSS dokumenta (končnica .css) in je vključen v HTML stran

vsebina dokumenta stil.css

p{color: red;}

vsebina dokumenta stran.html

<head>

<link rel="stylesheet" href="http://primer-stila.si/stil.css" type="text/css" />

</head>

 Uporabnikov stil – uporabnik lokalno definira stil in prepiše brskalnikovega

 Brskalnikov stil – brskalniki imajo privzet stil za vsakega izmed HTML elementov (CSS, Wikipedija, prosta enciklopedija, 2015)

CSS3 med drugimi spremembami prinaša tudi 2D in 3D transformacije elementov.

(50)

Uporaba v aplikaciji:

Aplikacija, ki smo jo izdelali, močno sloni na CSS3 in njegovi funkcionalnosti.

 Oblikovanje spletne strani (barva ozadja, oblika pisave, oblika slik, barva in oblika posameznih elementov)

 Postavitev elementov na spletni strani

 Transformacije in animacije elementov na spletni strani (drsenje in rotacija rešet)

 Posebni učinki (povečanje elementa, kadar smo z miško nad njim, spreminjanje barve na klik)

4.3. JAVASCRIPT

JavaScript je objektni skriptni programski jezik. Skupaj s HTML in CSS velja za osnovni gradnik dinamičnih spletnih strani. Podprt je v večini novodobnih spletnih brskalnikov. Največkrat se uporablja za implementacijo funkcionalnosti na odjemalčevi strani HTML dokumenta za interakcijo z DOM elementi. Med najbolj značilne funkcionalnosti, ki jih lahko dosežemo z JavaScriptom, spadajo animacija elementov na strani (prikaz, skrivanje, spreminjanje velikosti, premikanje itn.), uporabniška interakcija (igre, uporabnikov nadzor elementov na strani), validacija vnesenih podatkov, preden so ti poslani strežniku.

Jezik se uporablja tudi zunaj spletnega razvoja v dokumentih PDF in namiznih dodatkih.

Pri rabi jezika v spletni strani se koda izvaja lokalno v uporabnikovem brskalniku, zato se brskalnik na uporabnikove vnose lahko odziva relativno hitro, kar dela JavaScript aplikacije odzivne.

Skript v spletni dokument vključimo z oznako <script>. S to oznako brskalniku sporočimo, da želimo vdelano kodo izvajati in ne prikazati. Z dodatnim atributom <type> povemo, v katerem jeziku je vdelana koda zapisana (JavaScript, Wikipedija, prosta enciklopedija, 2016).

(51)

Primer vdelave v spletni dokument:

<!DOCTYPE html>

<html lang = "en" >

< head >

< meta charset="utf-8">

<title>Primer</title>

</head>

<body>

<h1 id = "header" > JavaScript </ h1 >

< script type="text/javascript">

//Vdelana JavaScript koda </script>

</body>

</html>

Uporaba v aplikaciji: Z JavaScriptom so realizirane interaktivne lastnosti aplikacije na strani odjemalca.

4.3.1. JQUERY

jQuery je najpogosteje uporabljana JavaScript knjižnica, ustvarjena z namenom, da poenostavi skriptiranje HTML dokumentov na odjemalčevi strani. Je brezplačen in licenciran z MIT licenco.

Oblika jQuery sintakse poenostavi navigacijo skozi spletni dokument in dostopanje do DOM elementov dokumenta, omogoča ustvarjanje animacij in poenostavi rokovanje z dogodki.

Z jQuery knjižnico enostavno iščemo, izbiramo in manipuliramo DOM elemente. Na primer, z jQuery lahko poiščemo element v dokumentu glede na določene atribute elementa (recimo vse značke h1) in elementu prirejamo različne lastnosti, kot so stilna prezentacija, vsebina, položaj.

JQuery omogoča omenjene manipulacije v kontekstu dogodkov na spletni strani (klik na gumb).

Prednosti uporabe jQuery:

(52)

 Razdruževanje JavaScripta in HTML: jQuery omogoča preprosto sintakso za dodajanje odzivov na dogodke na DOM elementih z JavaScriptom, kar je preprostejša

alternativa za uporabo HTML dogodkov, ki nato prožijo določene JavaScript funkcije.

Na ta način usmerja razvijalca, da skripte razvije ločeno od HTML dokumenta.

 Jedrnatost in jasnost.

 Združljivost z brskalniki: določene komponente JavaScripta ne delujejo ali ne delujejo enako v vseh brskalnikih – jQuery to pomanjkljivost odpravlja.

 Razširljivost: preprosto dodajanje dogodkov, elementov in metod, ki jih lahko ponovno uporabimo kot vtičnik. (jQuery API, https://api.jquery.com/, 2016) Knjižnico v svoj dokument vključimo z naslednjima zapisoma:

<script src = "jquery.js" ></ script >

<script src = "https://code.jquery.com/jquery-latest.min.js" ></ script >

V primeru prvega zapisa moramo knjižnico shraniti lokalno, z drugim zapisom pa do knjižnice dostopamo neposredno preko spleta (jQuery, https://api.jquery.com/, 2016).

Uporaba v aplikaciji: S pomočjo jQueryja v JavaScript logiki iščemo in manipuliramo z DOM objekti.

4.3.2. AJAX

Ajax (asinhroni JavaScript in XML) je skupina medsebojno povezanih spletnih razvojnih tehnik, uporabljenih za ustvarjanje interaktivnih spletnih aplikacij. Z Ajaxom si lahko spletne aplikacije izmenjujejo podatke s strežnikom asinhrono v ozadju, brez potrebe po ponovnem nalaganju strani. Ajax vključuje naslednje tehnologije: HTML, CSS, DOM, XML, XMLHttpRequest ter JavaScript, ki povezuje vse te tehnologije. Ajax aplikacije dajejo vtis, kot da v celoti tečejo na računalniku uporabnika. Običajna spletna aplikacija namreč za vsako spremembo na strani pošlje zahtevo HTTP, strežnik pa kot odgovor pošlje celotno stran. Brskalnik mora zato osvežiti celotno stran, s tem pa pride do motečega obnavljanja strani. Spletna aplikacija je zato počasna in čisto nič podobna namiznim.

(53)

Aplikacije Ajax so prirejene za generiranje poizvedb za strežnik, tako da pošljejo samo tiste podatke, ki jih dejansko potrebujejo. Klic se opravi kot asinhrona komunikacija, torej lahko, medtem ko aplikacija čaka podatke iz strežnika, uporabnik nemoteno uporablja spletno stran.

Ko so podatki pripravljeni, določena funkcija v JavaScriptu prikaže podatke na strani, brez potrebe po ponovnem nalaganju.

Posledica tega je uporabniški vmesnik, ki se veliko hitreje odziva na vnose uporabnika. Razlog za vpeljavo te tehnologije je tudi dejstvo, da se med odjemalcem (brskalnikom) in strežnikom prenese veliko manj podatkov ter da poteka nalaganje podatkov asinhrono. Poleg tega se zmanjša obremenitev spletnega strežnika, ker se veliko obdelave lahko naredi na strani odjemalca.

S tem je mogoče tekoče in hitrejše spremljanje ter spreminjanje vsebine na spletni strani.

Podatki se prenašajo s pomočjo objektov XMLHttpRequest ali s pomočjo Remote Scriptinga (Ajax http://api.jquery.com/jquery.ajax/, 2016).

Uporaba v aplikaciji: Tehnologijo Ajax uporabljamo za asinhrono pošiljanje uporabnikovih odgovorov strežniku.

4.4. PHP

PHP (PHP: Hypertext Preprocessor) je odprtokodni objektni skriptni programski jezik za spletni razvoj, ki se pogosto izvaja na strežniški strani. Ustvaril ga je Rasmus Lerdorf leta 1994. Za razvoj skrbi PHP Group, zaščiten je s PHP licenco, ki prepoveduje uporabo besede PHP v imenovanju kode, izdelane s PHP, kar je razlog, da jezik ni licenciran z licenco GPL.

Gre za vsestranski programski jezik, ki je najpogosteje uporabljen za implementacijo logike in dinamičnega ustvarjanja strani na strežniški strani, kjer se PHP izvaja.

Funkcija PHP-ja v spletnem razvoju je po navadi posredniška, saj prestreza podatke iz datotek s PHP ukazi ali tekstom, nad podatki izvede operacije in jih vrne kot rezultat, največkrat v obliki HTML.

Reference

POVEZANI DOKUMENTI

V kolikor v zadnjem času besedišča teh tem niste ponavljali, predlagam, da besede v začetku tedna ponovite, nato na koncu tedna izvedete preverjanje.. V času preverjanja si poleg

Torej, za 4 teme je dovolj, da jih obdelaš samo z učbenikom, za eno, ki ti bo dodeljena glede na priimek (glej spodaj) pa uporabi dodatne vire, samo učbenik ni dovolj.. Tako boš

V pretres je vzela tudi nekatere bi- bliografske popise in nekatere temeljne preglede slovenske literarne zgodovine – od Pohlina in Čopa do Šlebingerja in Kidriča – in jih

Sledila je sposobnost prilagajanja, s 26,7 odstotka, nato sposobnost reševanja problemov, s 16,6 odstotka, sposobnost skupinskega dela tudi s 16,6 odstotka, sposobnost

Obstoječe tehnologije javne varnosti, zaščite in reševanja (angl. Public Protection and Disaster Relief – PPDR) so bile razvite za specifične kategorije uporabnikov in ne za široko

Nenazadnje tudi sofinancerji od organizacij vse bolj pogosto zahtevajo, da v poroËilih izkaæejo naËine vkljuËenosti uporabnikov v delovanje organizacije (Robson et al., 1997)..

Ne glede na spremembe, ki jih je bil načrt v devetletnem obdobju deležen, je ostalo bistvo načrtovanja premik moči od strokovnih delavcev do uporabnikov socialnih storitev..

V svoji knjigi Uhlhorn obravnava več algebrskih krivulj, ki jih tudi po- imenuje z vrstilnimi števniki: prva krivulja, druga krivulja itd.. Nekatere so bile sicer v času