Posts tagged ‘kth’

Nästan-tre-terminer-utvärdering av Kungliga tekniska högskolan

Hösten 2007, det vill säga förra hösten, började jag på Kungliga tekniska högskolans civilingenjörslinje med inriktning datateknik ("D") efter att ha gått naturvetenskaplig linje med inriktning matte/data på gymnasiet och kommit ut med ganska okej (enligt eget tycke) betyg. Jag var behörig med viss råge för datalinjen, men jag hade inte tillräckligt med poäng för att klara konkurrensen. Lyckligtvis hade jag skrivit högskoleprovet och fått ganska goda resultat på det (nästan bara på ordförståelsen, alla andra delar var jag ganska kass på), och eftersom nästan ingen annan i min sökgrupp verkade ha gjort det kom jag in ändå. Jag brukar skämta och säga att jag kom in på KTH på min ordförståelse, och på sätt och vis är det ju rätt. Man kan säga att de naturvetenskapliga- och tekniska ämnena egentligen inte är de jag är bäst på, men tyvärr är det vad jag är mest intresserad av.

Min dröm är att bli hacker och kunna bidra till fri programvarurörelsen (bland annat), och det är något jag har siktat på sedan ganska tidigt i gymnasiet om jag får gissa. Att vara bra på datorer och programmering har varit ett mål mycket längre än så, ungefär sedan början på tonåren. Jag kan inte ha varit mer än tretton-fjorton när jag satt och försökte cracka spel, pilla med BASIC och lära mig C. Planen har också varit ganska länge att gå just på KTH, mest för att jag har släkt som har gått där men också för att jag har haft, kanske inte helt välgrundat, uppfattningen att det är en av de bättre tekniska högskolorna i Sverige.

Så den som räknar lite kan alltså konstatera att jag mer eller mindre aktivt hade försökt lära mig olika former av programmering i omkring fem år innan jag började på KTH, och att jag dessutom hade läst en del kurser i bland annat Javascript, Java och C++ (och, urk, Visual Basic) på gymnasiet. Trots detta var jag minst sagt en kass programmerare, och jag var högst medveten om det själv. Jag hade vid det laget ögnat igenom ett otal programmeringsböcker och vunnit endast principkunskap, det vill säga jag kunde argumentera för olika programmeringstekniker och jag visste mycket om programmering, men jag kunde inte åstadkomma ett dugg själv. Däremot lät jag väldigt proffsig. Mina medelmåttiga betyg i programmeringskurserna från gymnasiet fick jag genom att gråta för lärarna (självklart inte fejkat, jag var helt förstörd när jag inte kunde lösa uppgifterna), snacka mig förbi det hela eller, mitt vanligaste trick, åka snålskjuts på någon som var mycket, mycket bättre.

Jag har själv försökt identifiera hindren för mina framsteg inom programmering, och en av de bästa förklaringarna jag har är att jag behöver en tydligt kumulativ utveckling där jag märker att jag gör framsteg. Jag behöver ordnade former och någon form av extern disciplin, annars kommer jag ofelbart att börja göra något annat vid minsta motgång eftersom jag hatar motgångar. Matte är, speciellt i grundskolan och gymnasiet, mycket strukturerat så. Man gör övningstal i serie, kapitel för kapitel och man kommer nästan alltid framåt med en tydlig takt som man kan uppleva. Så fungerar inte alls programmering, det är istället en slags trial-and-error-vetenskap där det gäller att själv söka sig de kunskaper man behöver för att lösa problemet man för tillfället håller på med. Det är därför jag helt enkelt har hämtat in den teoretiska kunskapen men helt missat den praktiskt applicerbara. Med andra ord: programmering är inget jag kan lära mig från böcker, och det hade jag sedan länge konstaterat den där hösten 2007. Det var ju det jag skulle med högskolan till.

Det började ganska märkligt med en samling i Blå salen i Stadshuset någon gång i slutet på augusti om jag inte minns fel. Jag var på väg att komma för sent för det var något trassel med min buss och jag hittade ju inte alls i stan, men till slut kom jag dit. Vi hälsades av en del spex och lite tal från skolans dåvarande rektor, sen var det någon typ av mingel vid kårhuset. Efter det inleddes en minst sagt hektisk vecka av nollning, som jag av fruktan för repressalier inte ska gå in på närmare detaljer om. Jag upplevde den som omväxlande rolig och omväxlande hemsk. Visst var den väl regisserad och genomtänkt, men den var också rörig. Jag visste aldrig när jag skulle komma hem, vart jag skulle eller vad jag behövde ha med mig, och jag umgicks bara med människor jag inte kände som jag var tvungen att vara trevlig mot. Stundtals drev det mig till vansinne och jag försökte smita undan så mycket jag kunde, framför allt när den vidriga studentalkoholkulturen lös igenom på "gasquer". Jag vill lova att man var attans trött på spexiga omskrivningar efter de där veckorna! Trots omständigheterna lyckades jag, och det är något jag i efterhand har insett, etablera mytbilden av mig själv som überhacker. Bland annat ingick det tävlingar i kunskap om programmering i nollningen, och jag var ju som gjord för dem.

Sen började den riktiga terminen. I början var det programmering i Java, en kurs jag direkt blev avigt inställd till på grund av mitt hat mot språket (inte minst det faktum att man måste köra en massa ofri programvara för det). Men mest var det matte. Först en påstått enklare kurs (som jag för övrigt i skrivande stund troligen precis har blivit underkänd i för andra gången) som gjordes svårare än den behövde vara genom att inte tillåta formelsamlingar på tentorna och sedan flera andra i serie. I båda de senare mattekurserna hade vi föreläsare som var väldigt bra på matte men ganska kassa på att föreläsa. Båda två bröt kraftigt, den ena så mycket att de första tre-fem föreläsningarna hölls på engelska, som hen bröt aningen mindre på, och den andra lite mindre. Men tillräckligt mycket för att det skulle krävas mycket koncentration bara för att höra vad hen sa, något som försvårades ytterligare av att det faktiskt var 100-200 åhörare.

Jag har haft färre än fem bra föreläsare. Och när jag säger "bra" menar jag inte att de är överväldigande bra, jag menar att de är ungefär i klass med en sämre gymnasielärare. Jag menar att de allt som oftast kommer någorlunda förberedda till föreläsningarna, har koll på hur tekniken fungerar, pratar någorlunda begripligt och faktiskt kan besvara frågor. De övriga är i området mellan de ovan nämnda brytande matematikerna till föreläsare som tappar bort sig i sina egna over head-bilder, totalt missbedömer tempot på kursen eller kommer med bilder som det faktiskt står fel saker på, fast de har använt samma bilder i flera års tid. Samma föreläsare, det var i en kurs om digitalteknik, hade en otrolig vana att med monoton stämma läsa upp ändlösa rader av ettor och nollor; "ååh då läser vi noll noll ett ett noll…". Som om de, och inte deras relationer till resten av innehållet på pappret, var intressanta!

Men det var inte bara själva föreläsarna som lämnade en del i övrigt att önska; skolans infrastruktur är nästan om möjligt ännu värre. Kärnan för all information är skolans webbplats, där den i särklass viktigaste komponenten är "Mina sidor". Där kan man se vilka kurser man har klarat eller, som i mitt fall, inte klarat, man kan även anmäla att man ska gå kvar nästa termin och/eller anmäla sig till tentor. Det är, utan tvekan, en mycket bra idé att samla informationen på en webplats på det sättet, men genomförandet är fruktansvärt.

Till att börja med så är informationen bara skenbart centraliserad. Det man kommer åt från "Mina sidor" är bara väldigt övergripande information, allt mer djupgående om kurserna hittar man på deras hemsidor. Dessa hemsidor körs på olika servrar beroende på vilken sektion som har hand om dem, men det är inte helt konsekvent vilka sektioner som har vilken typ av kurs (förutom att matteinstitutionen har mattekurserna). Och, dessa sidor är inte på något sätt automatgenererade. Det är i de flesta fall helt upp till kursledarna att skapa- och uppdatera websidorna. Det betyder att man måste navigera genom ett minfält av gammal- eller potentiellt gammal information innan man hittar det man söker. Om det ens finns där. I många av fallen ändras sidorna under kursomgångarna, helt utan att man som student varnas om det, och föreläsarna kan bara hastigt referera till ny vital information med "ja just det och det här finns nu på kurshemsidan" under en föreläsning. Jag antar att jag inte heller behöver påpeka hur dåliga många av dessa kursansvariga är på webdesign. Ett skräckexempel är hemsidan för kursen Datorteknik, som är helt oöverskådlig. Delar av informationen där säger dessutom emot sig själv.

För att göra det hela ännu värre så finns det dessutom flera system för att göra samma sak. Först finns det exempelvis det officiella tentaanmälningsverktyget på "Mina sidor", där man för övrigt inte ser sina tentor förrän de är öppna för anmälan, så man får titta efter varje dag, sen finns det det s.k. Daisy-systemet för att hantera laborationer i elektronikkurser och ytterligare ett system på datasektionen som hanteras genom att man SSHar in i en server vars adress jag tror att jag fick genom hörsägen. Möjligen finns det ännu fler, men de är de jag känner till.

Scheman hanteras också digitalt, via ett system som heter Time Edit. Under mina första två- och första halvan av den tredje terminen var detta system nere mer eller mindre konsekvent varje söndag. Det betyder alltså att om man inte hade sparat ner schemat på hårddisken eller, som jag, skrivit ut det så får man hoppas på att servern är uppe måndag morgon, annars vet man inte var man ska vara den dagen.

Allt detta skapar ett slags permanent informationsparanoia. Man vet inte om man vet allt man borde veta eller om man har missat att läsa på någon kurshemsida för att få reda på något vitalt. Utöver det så är många kurser väldigt diffust planerade. Man vet helt enkelt inte vad som förväntas av en. Med mattekurserna är det ännu värre: där har kursledarna varit duktiga nog att faktiskt ladda upp en plan för vad man rekommenderas räkna som övningar, men åtminstone för mig är dessa groteskt överdimensionerade. Jag hinner inte med de rekommenderade uppgifterna för en av kurserna åt gången, ens om jag sitter hela dagna. Och hur ska jag veta vad jag kan sålla bort? För andra mattekurser har jag gjort alla övningarna men ändå misslyckats så att det visslade om det på tentan.

Innan jag började på högskolan hade jag ett slags idealiserad bild av den, underblåst av historier om gamla MIT-hackers, som fri mjukvarurörelsens sista tillflyktsort, ett slags hackarnas lustgård. Man kan säga att jag blev minst sagt besviken när jag insåg att mina klasskamrater inte alls var som jag, utan allihopa satt med äckliga Macbooks eller Vista-datorer och verkade mest intresserade av att supa och spela spel. Faktum är att jag såvitt jag vet är en av väldigt få fri mjukvaruaktivister i min klass. Jag har fortfarande inte riktigt kommit över just denna bit.

På det hela taget är miljön ett slags hyperindividualiserad mardröm, där alla sköter sig själva och skiter i de andra. De få gruppaktiviteter som finns är inte upplagda som diskussioner utan snarare (upplevde jag) som demonstrationer där man får visa upp sina skapelser för de andra att avundas (eller håna — det senare oftare i mitt fall). Jag har i efterhand förstått att det är så universitetskulturen ser ut, men som nybörjare i den kom det hela som en chock. Jag har fortfarande väldigt svårt att smälta det faktum att det skulle göra minimal skillnad för skolan- och för mina klasskamrater om jag dog imorron. Det kanske är långsökt, men jag har en känsla av att den typen av miljö bidrar till att skapa framtida skolmassakrerare.

Varför är jag då kvar? Det enkla svaret är att jag fortfarande vill, mer än något annat, bli en duktig hacker. Jag struntar egentligen i det där med civilingenjör, jag vill bara bli bra. Och jag har fortfarande en känsla att om jag bara tar mig igenom det jobbiga i "början" så kommer det guld och gröna skogar där framme. Jag är smärtsamt medveten om att det är liknande drivkrafter som håller kvar människor i (andra former av) destruktiva förhållanden.

Så vad kan göras åt saken? Jag har gjort en lista:

  • Först och främst, centralisera dataåtkomsten. Se till så att informationen finns på ett ställe och att den trycks ut, exempelvis genom skolans epostserver, och inte behöver letas efter hela tiden. Push, inte pop. Se också till att det är i huvudsak lärarnas ansvar att se till att informationen kommer ut. De har en fast anställning, det är inte de som blir halshuggna av CSN om informationen om att det är tenta inte kommer fram.
  • Skapa bättre system för återkoppling och använd dem. Det finns kurser med runt 83% misslyckanden på tentorna, oavsett hur dåliga tiderna är så är det helt enkelt inte okej. Det är inte studenterna det är fel på i de fallen!
  • Fokusera mer på grupparbeten och samarbetsövningar och revidera pedagogiken. Som det är nu är det 1800-talspedagogik som tillämpas, med ungefär lika goda resultat. Det duger helt enkelt inte!
  • Se till att det är väldigt tydligt vad som förväntas av studenterna och se till att de också förstår det.
  • Utbilda personalen i utrustningen de ska använda och se till att den också underhålls och fungerar som den ska. Strunta i att ha nya och flashiga saker om det inte är nödvändigt!
  • Se till att kartor och liknande information är lätt att hitta. Seriöst, ni forskar bland annat på människa-datorinteraktion, men er hemsida är fortfarande skit!
  • Undvik ofri programvara. Det kan inte nog understrykas. Det går emot hela den akademiska principen och det kommer att drabba personer med fria operativsystem. Ni kan helt enkelt inte förvänta er att alla kör Windows längre.
  • Se över examinationsformerna; en enda hit-or-miss-examination är förmodligen inte optimal.
  • Ha fler hjälpassistenter på laborationerna! Om man har svårt med programmering är man inte hjälpt av en situation där assistenterna har jättebråttom och bara hinner med att lyssna på redovisningar.
  • Undvik engelska kursböcker, i synnerhet i matte och om undervisningen ska vara på svenska. Annars måste man sitta med termordlista och översätta mellan det boken säger och det föreläsaren säger. En svår kurs blir också dubbelt så svår på engelska, även för oss som kan språket ganska bra.