Framtidens gymnasiala webbutbildning - 1
Hur skall framtidens skola utbilda elever i webbutveckling? Vad skall kurserna heta och vad skall de innehålla? Dessa frågor skall jag försöka besvara åt Skolverket, i dialog med mina referensgrupper och kollegor. Helt klart är i vart fall att jag vill åstadkomma förändring, såväl i förhållande till vad vi har idag och vad som föreslogs inför den stoppade Gy-07 reformen. Front end utveckling är numera oerhört mycket mer än bara webbdesign
och aldrig har det varit så tydligt hur man gör sina elever en björntjänst om man försöker undvika att lära dem att koda för hand. Samtidigt har tekniker som AJAX, multi-touch (iPhone) och rörelsesensorer (Nintendo Wii) visat hur användargränssnittet i sig står i fokus mer än någonsin — det måste få en dedikerad kurs, som handlar lika mycket om användbarhet och interaktion, såväl som skönhet och grafisk design.
Förslag till ämnen
Lägg märke till att det som nu följer är förslag, inte fakta. Ungefär så här vill jag lägga upp det, men många andra inressenter kommer stöta och blöta mina åsikter innan det föreligger färdiga kursåplaner.
Webbutveckling
Här fokuseras de grundtekniker som webben byggs upp av: HTML, CSS, DOM och EcmaScript, fast också lite om http och DNS. Kommande tekniker som SVG, Canvas och de idéer som relaterar till HTML5 kan behandlas i fortsättningssteg, liksom Flash och andra tilläggstekniker. Standarder och semantisk kodning, separation av olika slags logik (innehåll, design, beteende), tillgänglighet, utvecklingsbarhet, optimering och nåbarhet (findability). Genom detta ämne skall eleverna ta sina första steg mot att bygga såväl webbapplikationer som webbsidor.
Detta är inte ämnet webbdesign
. Jag vill inte använda den beteckningen, då den så lätt leder tankarna in på ett rent grafiskt designspår. Jag vill heller inte använda beteckningen interaktiva medier
som användes till Gy -07, då de kurserna var skrivna på tok för vagt och luddigt. Namnbytet signalerar förändring! (Och Frontpage måste utrotas som undervisningsverktyg.)
Upp till 300 poäng skall kunna läsas inom detta ämne.
Gränssnittsdesign
Denna kurs fokuserar på att skapa attraktiva och användbara användargränssnitt. Här fokuseras alltså på design, men inte bara grafisk design, utan också på interaktionsdesignen. Estetiskt tilltalande grafisk kommunikation skall kombineras med funktionell utformning. Detta ämne kan varieras som webbdesign — där hänsyn skall tas till att webben idag skall fungera också för mobila enheter, talsyntes och utskrift. Det kan ges som speldesign, för de skolor som har denna specialisering. Det kan integreras med programmering och syfta till att utveckla manicker
(widgets) eller program för mobila enheter. Intresse finns att en sådan här kurs också skulle kunna tillämpas på utveckling av gränssnitt för CNC-maskiner eller annan industriell styrning.
Ämnet innehåller grafiska moment som färglära och färgval (inklusive hänsyn till färgblindhet), komposition/layout, typsnitt och utformning av gränssnittselement (ex. formulärelement, menyer, knappar, etc), principer för användbarhet och tillgänglighet, utveckling av prototyper och användartestning ingår också. Honnörsorden hämtas från WCAG, men breddas så att de gäller alla, inte bara de som har funktionsnedsättningar: En god design kan uppfattas (perceivable
), är förståelig (understandable
), användarvänlig/manövrerbar (operable
) och robust.
Undersökningar visar att också programvara tänkt för affärsbruk fungerar (och säljer!) bättre om den är estetiskt tilltalande, så självklart skall det momentet spela stor roll, men jag vill betona att det inte utgör hela ämnet.
Rent undervisningsmässigt finns det inget som hindrar en skola att ge eleverna kursen Webbutveckling 1 parallellt med kursen Gränssnittsdesign 1.
Webbprogrammering
Detta ämne fokuserar på utveckling av dynamiska webbplatser. Det kan ges som en kurs i PHP ihop med MySQL. Det kan ges som en kurs i .NET eller JSP eller Python eller Ruby… Val skriptspråk eller databashanterare får skolorna själva göra. Efter 100 poäng bör eleverna kunna utveckla en enkel CMS, t.ex. ett basalt bloggsystem. Erbjuder man ytterligare 100 poäng, så kan man titta vidare på XML och JSON, webbtjänster och MVC-arkitektur, liksom på fördjupad kunskap om databaser och andra tekniker för datalagring. Redan från "Hello World" skall säkerhet betonas. Exempelvis skall eleven kunna filtrera indata och "escapa" utdata, så att alla vanliga försök till injektioner stoppas.
Kursen förutsätter såpass mycket kunskap i HTML och CSS att dessa moment inte skall behöva repeteras. En skola skall dock också här rent praktiskt kunna lägga kursen parallellt med Webutveckling 1.
Namnet Internetprogrammering
som föreslogs i Gy -07 utgår. Det är missvisande, eftersom det snarare betecknar socketprogrammering på TCP/IP-nivå.
Andra ämnen som berörs
Utöver de ämnen för vilka jag har ett huvudansvar, så finns det många andra som ligger under rubriken datorteknik: Datorkommunikation, Serveradministration (som det borde heta snarare än Lokala Nätverk
) och Programmering. Om det sistnämnda vill jag bara säga att de skolor som önskar måste få erbjuda JavaScript/ECMAScript som ett första programmeringsspråk. Dels är det ett väldigt lämpligt språk för en första kontakt med programmeringsämnet (jag hänvisar till Douglas Crockford), dels är det utan tvekan på väg att ta sig in i många nischer som tidigare varit förbehållna kompilerande språk. Senast häromdagen såg jag någon som utvecklat en Nintendo-emulator i JavaScript!
Gymnasiet skall ge en möjlighet att läsa grafisk design som ett eget ämne. Eftersom dels det ämnet redan är mycket snarligt dagens multimediakurser och dels för att jag styr bort betoningen på ljud och videoredigering från mina
kurser, när jag avskaffar Interaktiva medier
, så behövs det en dialog om hur de skolor som idag ger kurserna Multimedia skall gå över till Grafisk Design. Som sagt, kursplanerna är mycket snarlika, så något stort problem borde det inte vara.
Det är värt att lägga märke till att mediaprogrammet utgår, och att somliga kompetenser som lärs ut på dagens mediaprogram skall man kunna få på teknikprogrammet. Troligen kommer det finnas kurser som rör animation, filmproduktion, ljudinspelning och bildredigering. Jag ser dock inte att just dessa kurser kommer påverka mina
ämnen i nämnvärd utsträckning. Det som de fokuserar på är hur film tekniskt kan integreras på webben och vilken roll den där kan fylla. Inspelning, klippning och specialeffekter får dessa andra kurser ta hand om.
I veckan som gått har vi kunnat läsa att både Gecko (Firefox) och Webkit (Safari/Chrome) har sina första implementationer av WebGL klara, alltså stöd för 3D direkt i webbläsaren. 3D-animering på gymnasienivå ser jag dock inte som programmering mot OpenGL i första hand, utan jag tänker mig användning av rena animationsprogram: Blender, Maya, 3D-studio. Om några år har vi dock antagligen liknande program som körs inuti webbläsaren, utan att några tillägg behövs!
Feed back
Detta är mina idéer i ett nötskal. Jag återkommer med en fördjupande text om hur jag motiverar dessa idéer. Jag ämnar föra diskussion runt detta på fyra ställen:
- Skolverkets projektplats, för mina kollegor inom det specifika arbetet.
- Fortsatt kommunikation med mina svenska och internationella referensgrupper via mejl.
- En tråd startad på webForum.
- Via mejl eller kontaktformuläret på denna webbplats.
Att annat sätt att hålla sig informerad är att följa mig på Twitter. Varje gång jag gör något relaterat till mitt arbete med Gy -11 så märker jag mina notiser på Twitter med hash-taggen #skolverket.
Publicerad: 2009-09-27 13:12
Uppdaterad: 2009-09-27 13:12
