kaxigt.com

Jag skriver om webben för webben

Framtidens gymnasiala webbutbildning Gy-11 – i webbutveckling

Postad: 21 mars 2010 | Web | 10 Comments
Lästid: 6 minuter

Hur skall framtidens skola utbilda elever i webbutveckling?
Vad skall kurserna heta? Vad skall de innehålla?

Det här är några frågor som Lars Gunther har brottats med det senaste året.

Lars Gunther är med i såväl Web Standards Project Educational Task Force (WaSP EduTF) som W3C Open Web Education Alliance Incubator Group, OWEA, en inkubatorgrupp för W3C, vid sidan av att också vara ämnesexpert för Skolverket och ansvarig för att jobba med just detta inför den kommande gymnasiereformen Gy11.

Förra året blev jag tillfrågad om jag ville vara med i en referensgrupp i egenskap av ”ämnesexpertis”, eller som Lars själv skriver – ”mitt dream team”.

Självfallet blev jag smickrad. Eftersom tankarna kring framtidens gymnasiala webbutbildning Gy-11 är av stor dignitet så tackade jag givetvis ja.

Tillsammans med andra kända och erfarna svenska webbexperter, exempelvis; Robert Nyman, Tommy Olsson med bloggen autisticcuckoo.net, Roger Johansson som bloggar om gränssnittsutveckling i 456bereastreet.com och Isac Lagerblad, en gränssnittsprogrammerare som har varit medlem i W3C’s HTML WG i utvecklingen av HTML5, har vi bollat frågor fram och tillbaka med Lars om hur gymnasiets nya webbutbildning kan se ut.

Nu börjar den ta form.

Webben som applikationsplattform

När jag började läsa webbdesign och standardprogrammering 1997 så var det två strikt skilda ämnen. Det fanns ingen direkt inbördes relation. I webbdesignen fick vi förvisso lära oss att göra hemsidor (HTML i tabeller!) med versaler i koderna ”för att det skulle vara så”, men att lära sig separera strukturen från presentationen var det inte frågan om utan här fick fantasin flöda med ”fulhtml”.

Standardisering av webben var ett begrepp som aldrig förekom.

Andra kapitel ”vi inte behövde läsa” var om XHTML, Javascript, semantik och syntax, CSS, PHP, ASP eller DOM eftersom detta inte ingick i kursen.

Givetvis uppstod det då problem när vi ville mer, exempelvis implementera vissa applikationer på hemsidan eller skapa vissa finesser, och inte fick lära oss hur vi skulle göra eller få veta hur det fungerade. Summerar jag kursen är det i överrensstämmande med vad Lars skriver i sin artikel ”Hej då webbdesign!”.

Nu har ju ett antal år passerat sedan 1997 men tydligen så har varken ämnesinnehåll eller didaktik förändrats nämnvärt om jag relaterar till vad Lars skriver:
Gymnsieskolan idag har ett ämne som heter webbdesign. Ämnesnamnet leder mångas tankar till grafisk design enbart, och många läroböcker utgår fortfarande från Frontpage.
Samtidigt skall eleven kunna satser, funktioner och syntax i beskrivningsspråket, vilket gör att man inte kan ignorera handkodning av HTML och CSS. Det blir mer och mer klart att detta är två delvis skilda kompetenser i yrkeslivet, att olika lärare behandlar kursen med olika innehåll och att eleverna ofta förvånas över delar av innehållet. Koppla detta till undervisning som i värsta fall inte ändrats på 10 år och vi har problem, samtidigt som datorindustrin som helhet genomgår ett paradigmskifte.

1. Att konstruera inbördes relationer

I takt med att tekniken på webben både ökar och utvecklas kräver det också ett större kunnande och skicklighet oavsett om man arbetar med webbdesign eller webbutveckling och programmering. Den tidigare strikta avgränsningen mellan webbdesign och programmering är på väg att suddas ut.

Istället går vi nu mot ett mer mångkunnande, en yrkesskicklighet som omfattar design och programmering i en och samma gestaltning.

I artikeln Vad kostar egentligen en hemsida? nämner jag två yrkeskategorier man idag kallar webbdesigner och front end engineer (gränssnittsutvecklare).

Lars menar ”att gränsen mellan att utveckla en webbapplikation och en annan slags applikation är så upplöst att det snarare går att utveckla designämnet till att omfatta alla slags gränssnitt”. Därför föreslås det att ämnet webbdesign byts till gränssnittsdesign med fokus på följande:

  1. Användbarhet – I slutändan finns det inget viktigare än att användaren kan uträtta sin uppgift, interagera på önskvärt sätt med andra användare eller finna sökt information.
  2. Skönhet – Estetiskt tilltalande applikationer är förtroendeingivande och skapar trivsel. Undersökningar visar att en av anledningarna till att affärsapplikationer inte blir använda, utan bakom ryggen på ledningen ersatta av användarnas egna program, är att dessa är mer tilltalande estetiskt.
  3. Tillgänglighet – Nya framsteg är ofta resultatet av forskning som ursprungligen gjordes för att hjälpa de som har funktionsnedsättningar, samtidigt kan de ironiskt nog också bli det som utestänger dessa. Man måste därför lära sig tänka på tillgängligheten från första början.

Nya förslag på upplägg av ämnen och dess innehåll

Webbutveckling (Detta är inte ämnet webbdesign!) – 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.

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.

Ä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.

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 av 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.

Med detta förslag så illustrerar bilden här ovanför en klar och tydlig interaktion mellan ämnena. Deras inbördes relationer knyter an till vissa gemensamma grundkunskaper som överlappar varandra vilka vi anser vara viktiga för utbildningen och för framtiden.

2. Kommunikation

Grunden för att all kommunikation ska fungera är att alla förstår varandra.

Det är viktigt att kunna kommunicera med samtliga inblandade. En gränssnittsutvecklare till exempel bör inte bara förstå webbdesignern utan även back-end utvecklarna. Till det behövs ju detaljkunskap.

Emellertid berör kommunikation inte bara den interna dialogen utan också dialogen utåt mot kundkretsen. Att beskriva vad det är man levererar samt att förstå vad det är kunden efterfrågar är således ett måste.

En god kommunikation handlar således om att implementera en markup och att denna kan föra en bra dialog med övriga koder, webbläsare, osv så att sidan fungerar som den är tänkt

3. Att förstå webben som applikationsplattform ur ett socialt, tekniskt och samhälleligt perspektiv

För att förstå varför dagens samhälle ser ut som det gör måste vi veta hur det såg ut i går.

Hur såg till exempel ”gårdagens” webbapplikationer ut? Varför sker utvecklingen i en sådan rasande fart och behöver vi verkligen alla tekniker? Varför blev CSS så banbrytande? Får vem som helst publicera en bild av mig utan mitt tillstånd? Försvinner aldrig det som finns på nätet? Hur kan webben användas? Vad är en IP-adress? Vad är en URL? Vad är DNS?

Dessa frågor är relevanta i en webbutbildning. Givetvis bör det också ske fortlöpande diskussioner kring olika etiska och juridiska aspekter. Med internet öppnas ju en mångfald av både gott och ont.

Social media och communities skapar globala nätverk, vi får chansen att träffa nya vänner som vi annars aldrig hade fått möjlighet till. Vi kan lättare hålla kontakt med varandra via e-mail och bloggar. Vi lägger upp interaktiva fotoalbum och använder nätet som en gigantisk encyklopedia.

Men det finns också en baksida, och den gör oss oerhört sårbara. Nätmobbingen har ökat. Försäljningen av olagliga varor är svår att spåra. Pedofilerna har fått en ny och större arena. Identiteter blir stulna via phising (nätfiske) och vi peppras ideligen av spam och blir utsatta av hackerattacker.

Att förstå webben som applikationsplattform ur ett socialt, tekniskt och samhälleligt perspektiv är inte bara att veta hur man skapar interaktiv media, hemsidor eller cms:s, utan också vad som kan göras med dessa. Det bör finnas ett samförstånd mellan byggsten och färdig applikation och hur detta sedan kan påverka oss, på både gott och ont.

Summan av kardemumman

Vilka gymnasister får IT-jobb idag?
Lars Gunther beskriver tre sorters elever som kan få jobb direkt efter gymnasiet:

  1. Extremt duktiga och motiverade. Dessa lär sig på egen hand mer än vad kurserna kräver. De har ofta en portfolio av arbeten att visa upp, som de gjort för sitt höga nöjes skull. De får anställning eller uppdrag utifrån detta, inte på grund av betygen.
  2. Elever med personliga kontakter i branschen, exempelvis förmedlas anställningen av nära släkt.
  3. Elever som kompletterar sina betyg med kommersiella certifieringar (CCNA, MCSE, CompTIA, etc), i kraft av vilka de anställs.

Vad vi upptäcker här är att de ”normalt” givna kursernas innehåll inte är tillräckliga. Dels utökar eleverna sitt kunnande på egen hand, dels kompletterar de betyget med ämnen/certifieringar. Det finns med andra ord ytterligare kunskap som önskas i ämnet men som inte ges. De med kontakter har dessutom lättare att få jobb. Hur kan då gymnasiet bemöta det här?

Lars har även här en idé:

  1. Locka fram lusten. Undervisning som får fler att känna att det är roligt och givande, så att de sliter sig från Facebook och WoW för att istället utveckla något!
  2. Skolan kan samarbeta med näringslivet så att kontakter skapas.
  3. Skolorna kan certifiera sina elever genom att samarbeta med branschen. Det är exempelvis vanligt att skolor har CCNA som erbjudande idag.

Avslutningsvis ger Lars en känga åt nuvarande lärarkår:

Det stora problemet är fortbildning.
Gymnasiets lärarkår verkar leva i illusionen om att de kan lära ut webbdesign idag, på samma sätt som de gjorde 1999. (Glöm HTML5 och CSS3, de har inte fattat HTML 4.01 och CSS 2.1!) Läromedlen är ofta lika bedrövliga, kanske för att de annars inte skulle bli inköpta.
Vi behöver hitta vägar att låta lärarna i webbrelaterade ämnen genomgå en konstant fortbildning och vi måste se till så läromedlen skrivs av kunnigt folk.

Vi får hålla tummarna för att det nya förslaget om gymnasiala webbutbildningen Gy-11 godtas, annars vore det som att kasta datasverige tillbaka till stenåldern. Vi skulle ofelbart halka efter den övriga datavärlden.