Pregled predmeta in cilji¶
Zakaj je ta predmet pomemben¶
Spletne tehnologije so odličen učni most med več področji računalništva. V enem samem sklopu povežejo:
- strukturo dokumenta,
- oblikovanje uporabniškega vmesnika,
- komunikacijo med odjemalcem in strežnikom,
- shranjevanje podatkov,
- osnovno varnost,
- osnovni debugging.
Prav zato je to področje zelo hvaležno za poučevanje. Dijak ne vidi samo “kode”, ampak vidi sistem. To je velika prednost, ker začne razumeti, da programska oprema ni ena datoteka, ampak sodelovanje več plasti.
Kaj je dejanski cilj tega sklopa¶
Ta sklop ni namenjen temu, da bi dijak postal profesionalni frontend ali backend razvijalec. Cilj je precej bolj realen in hkrati zelo uporaben:
- da razume osnovni tok spletne aplikacije,
- da zna izdelati manjši spletni projekt,
- da razume razliko med strukturo, videzom, logiko in podatki,
- da zna najti tipične napake,
- da se navadi na osnovne dobre prakse.
Jedro predmeta¶
Jedro predmeta lahko povzamemo v šestih stavkih:
- HTML opiše pomen in strukturo vsebine.
- CSS določi videz in postavitev.
- Obrazci omogočijo vnos podatkov.
- HTTP prenese zahteve in odgovore.
- Flask obdela logiko na strežniku.
- SQLite trajno shrani podatke.
Ko dijak to razume kot enoten tok, predmet začne delovati kot smiselna celota.
Zakaj je smiselno uporabiti Python + Flask¶
Za začetni pouk je Python + Flask zelo dobra izbira, ker:
- ima Python zelo berljivo sintakso,
- Flask hitro in pregledno pokaže idejo
route -> funkcija -> odgovor, - Jinja predloge lepo povežejo HTML in backend,
- SQLite ne zahteva težke namestitve in je dovolj zmogljiv za učne projekte,
- učni tok je čist: HTML -> obrazec -> Flask -> SQLite.
To ne pomeni, da je PHP neuporaben. Pomeni pa, da je za ta obseg ur Python + Flask pogosto bolj didaktično čist in manj obremenjen z zgodovinsko navlako.
Kaj ta predmet ni¶
Zelo koristno je, da to jasno poveš že na začetku. Ta predmet:
- ni tečaj naprednih frontend ogrodij,
- ni poglobljen tečaj iz kibernetske varnosti,
- ni DevOps ali deployment delavnica,
- ni napredni predmet iz relacijskega modeliranja,
- ni celovit tečaj JavaScripta.
To je uvod v razumevanje sodobne male spletne aplikacije.
Predlagana organizacija 16 ur¶
Spodnja razdelitev je dovolj realna, da se snov ne sesuje pod svojo težo.
| Ure | Tema | Cilj |
|---|---|---|
| 1–2 | Kako deluje splet | Razumeti brskalnik, strežnik, HTTP, URL in statusne kode |
| 3–5 | HTML | Zgraditi semantično in logično stran |
| 6–8 | CSS | Urediti videz, postavitev in odzivnost |
| 9–10 | Obrazci | Zajeti vnos podatkov in razumeti GET/POST |
| 11–12 | SQL | Napisati osnovne poizvedbe in razumeti tabelo |
| 13–16 | Flask + SQLite | Sestaviti malo aplikacijo od obrazca do baze |
Metodični pristop, ki deluje¶
Najbolj pogosto se pri takem predmetu zgodi naslednja pedagoška napaka: HTML, CSS, SQL in backend se učijo kot popolnoma ločeni svetovi. Rezultat je, da dijak zna narediti štiri nepovezane mini naloge, ne zna pa povedati, kako nastane ena spletna aplikacija.
Boljši pristop je zgodba v korakih:
- zgradimo statično stran,
- jo uredimo s CSS,
- dodamo obrazec,
- obrazec pošlje podatke strežniku,
- strežnik podatke shrani v bazo,
- iz baze podatke prikažemo nazaj uporabniku.
To je bistveno bolj naravno in bistveno bolj uporabno.
Kaj mora dijak res razumeti¶
Pri ocenjevanju je bolje meriti razumevanje kot pomnjenje sintakse. Smiselni minimalni cilji so:
- razume, kaj pomeni URL,
- ve, zakaj
GETinPOSTnista ista stvar, - zna pravilno uporabiti osnovne HTML elemente,
- zna narediti osnovno odzivno postavitev,
- zna napisati enostaven
SELECTinINSERT, - zna prebrati vrednosti iz obrazca v Flasku,
- zna poiskati vzrok za osnovno napako.
Kaj se splača dodati, tudi če ni bilo v prvotnih smernicah¶
V sodobnem predmetu o spletu se splača vključiti še nekaj tem, ki jih stari plonkiči pogosto zanemarjajo:
- dostopnost, ker je del pravilnega HTML-ja in ne neka eksotika,
- debugging workflow, ker brez tega znanje ostane krhko,
- varnostni minimum, da dijaki ne odnesejo nevarnih navad,
- strukturo male aplikacije, da ne nastane kaos iz ene same ogromne datoteke.
Kaj naj dijak odnese iz predmeta¶
Če moraš bistvo predmeta povedati v eni sami povedi, potem naj bo ta:
Dijak naj razume, kako iz uporabniškega vnosa nastane zahteva, kako jo aplikacija obdela, kako podatke shrani v bazo in kako se rezultat vrne nazaj v brskalnik.
To je prava “zmaga” tega sklopa.
Pedagoški nasvet
Ko dijak sprašuje “zakaj se to učimo”, je najboljši odgovor majhen delujoč projekt. Ena mini aplikacija pogosto razloži več kot deset abstraktnih definicij.