> Jag föreslår tre specifika ämnen:
> Webbutveckling (front end)
> Gränssnittsdesign
> Webbprogrammering
Om jag får spåna fritt lite så känns det som att du är på rätt väg, men om jag får komma med mina egna tankar och idéer:
En lista med "roller", med "namnval" som inte är särskilt genomtänkta alls..
* Gränssnittsdesigner - Den här punkten är extremt viktig, att kunna konstruera ett gränssnitt som är enkelt att använda. Ingen kod här
* "Grafisk designer" - Den här punkten är mindre viktig, att kunna göra en design som inte ser ut som stryk. Rent visuellt bara, ingen kod
* "Webbutvecklare" (front end) - Den här punkten är extremt viktig, att kunna konstruera en site med hjälp av befintliga, accepterade webbstandarder (HTML, CSS, i viss mån EcmaScript), troligtvis ifrån en färdig layout som en Gränssnittsdesigner och en "Grafisk designer" knepat ihop
* Webbprogrammerare (front end) - Den här punkten är ganska viktig, att kunna ge en site funktioner med någon form av exekverande språk, antingen på klienten (främst EcmaScript) eller på servern (t.ex. ASP.NET, php, perl eller liknande. Gammalt skrot som ASP och PHP 4 borde vara totalt förbjudna, bara uppdaterade tekniker bör tillåtas.)
* Webbprogrammerare (back end) - Den här punkten är mindre viktig, att kunna ge en site funktioner för access till databaser, cronjob, osv.
De där rollerna tänker jag på om vi pratar webbdesign. Sedan kan man mycket väl tänka sig att man kan kombinera flera roller, men jag tycker att man bör hålla dem ganska åtskilda när man lär ut.
Anledningen till att jag särat på gränssnittsdesigner till två roller är att gränssnittets användarvänlighet väldigt, väldigt ofta kommer i skymundan. Vem ska tänka på saker såsom kontraster, tillgänglighet för handikappade, att mått på textstorlekar inte anges i pixlar? Vem ska fundera över hur man gör ett formulär så enkelt som möjligt att fylla i? Hur man ska kunna navigera på sidan på ett bra sätt, och kunna behålla överblicken? Fungerar siten med flash avslaget och scripts avaktiverade?
Sedan har jag särat lite på webbprogrammerare, jag tänker mig något i stil med att den som sysslar med front end har sin information tillgänglig, men ska presentera den i det gränssnitt han har fått. Att se till att t.ex. AJAX och liknande fungerar, formulär fungerar etc. Den som sysslar med backend kör mer med att behandla data, hämta data, ev. cronjobs som ska köras, webservices etc. Två roller som mycket väl kan innehas av samma person, men är nog nyttigt att dela på under utbildningen.
Webbutvecklare anser jag mer eller mindre enbart sysslar med att knacka HTML och CSS, möjligtvis knåpa ihop lite enkla scripts. Kan ev. tänkas vara den som skär till de bilder han fått.
Dessutom, när det gäller webbprogrammeringen, säkerhet bör vara en ganska viktig bit där, t.ex. sådant som att man aldrig, aldrig ska "sätta ihop" SQL-frågor dynamiskt (man ska använda parameteriserade frågor), risken för XSS-attacker eller hur man bäst förvarar ett lösenord.
Att skriva sådana här saker så de är aktuella är nog svårt, men önskvärt är ju att man ställer krav på att en viss mjukvara inte ska krävas för att kunna uppfylla målen (där får t.ex. frontpage stryk på foten), och att man ställer krav på att eleverna lär sig sakerna ifrån grunden (alla visuella hjälpmedel för t.ex. HTML får stryk på foten, handknackning, utan CSS, ska det vara ifrån början), och att ej uppdaterade tekniker ej får användas (t.ex. gamla ASP, ASP.NET 1.0/1.1, eller PHP 4.)
Själv betraktar jag den utbildning som gymnasieskolan levererar i nuläget som skräp, vete sjutton om den ens någon gång har varit aktuell. Om man börjar se ämnet/ämnena som yrkeslivsorienterade och ser till att hålla sig uppdaterade så kommer dock saken i ett annat ljus..
(Vem sjutton vill anställa någon som designar med tabeller, skriv fulhackande asp-kod, gör små irriterande flash-knappar och inte vet skillnaden mellan HTML och XHTML?)
Jag skulle nog börja i den änden att ta reda på vad för kunskaper som efterfrågas på arbetsmarknaden, och fråga de potentiella arbetsgivarna vad de vill att skolan ska utbilda