Till KTH:s startsida Till KTH:s startsida

Visa version

Version skapad av Viggo Kann 2014-02-19 21:53

Visa < föregående | nästa >
Jämför < föregående | nästa >

Kursanalys adk13 UNDER ARBETE

Kursanalys för DD1352 Algoritmer datastrukturer och komplexitet, hösten 2014 Kursen är obligatorisk för D3.

Kursdata per 17 januari 2014

Tid: period 1-period 2 läsåret 2013/2014 dvs september 2013-januari 2014
Högskolepoängantal KTH: 9 (varav 3 på labb, 3 på mästarprov, 3 på tenta)
Tenta: ordinarietenta sista dagen i läsperiod 2
Föreläsningar: 35 timmar.
Övningar: 24 timmar.
Kursledare och föreläsare: Viggo Kann
Övningsassistenter: Emma Enström (doktorand i datalogi), Marcus Dicander och Anders Ye (D-teknologer).
Antal registrerade teknologer: 186 varav 135 från D, 19 från IT, 3 från F, 3 från I, 1 från CL, 9 från högskoleingenjörsprogrammet i datateknik, 9 från kandidatprogrammet i IT, 6 från olika masterprogram och en utbytesstudent.
Av dessa har 20 inte något enda resultat på kursen och har inte lämnat in någon utvärderingsenkät. Dessa har räknats bort i nedanstående statistik, som alltså baseras på 166 stycken förstagångsregistrerade (165 föregående år).
Prestationsgrad förstagångsregistrerade KTH: 77% (samma som år 2011 och 2012)
Prestationsgrad totalt KTH: 81% (85% i maj 2013)
Examinationsgrad förstagångsregistrerade KTH: 59% (98 stycken; jfr 59% år 2012, per 1 maj 2013)

STATISTIK efter ordinarietentan (förstagångsregistrerade)

LABBSTATISTIK
  Labb nr 1: 150, 2: 156, 3: 130, 4: 136
  Hela labbkursen: 127 st (jfr 125 st år 2012)

MÄSTARPROV, TEORITENTA OCH MUNTA
Prov  Antal inl  Betygsfördelning                                 Medelbetyg
mas1    146       9 x F   45 x E   13 x D   72 x C    0 x B    7 x A    2,2 (1,8 2012)
mas2    134      38 x F   26 x E    7 x D   21 x C   11 x B   31 x A    2,3 (2,2 2012)
tenta   138      13 x F   18 x E   36 x D   71 x C      -        -      2,2 (1,9 2012)
x-labb4  36         -        -        -        -      7 x B   29 x A    4,8 (4,8 2012)
ommas1 6 x E
ommas2 21 x E munta1 29 8 x F - - 1 x C 8 x B 12 x A
munta2 12 4 x F - - 3 x C 2 x B 3 x A
muntahög 4 3 x F - - - 1 x B - SLUTBETYG 34 x E 12 x D 31 x C 5 x B 16 x A medelbetyg: 2,6 (jfr 2,3 år 2012, 2,9 år 2011, 2,1 år 2010, 2,8 år 2009 och 2,2 år 2008)

Lärandemål

Efter kursen ska studenten kunna

  • utveckla och implementera algoritmer med datastrukturer och analysera dem med avseende på korrekthet och effektivitet,
  • jämföra alternativa algoritmer och datastrukturer med hänsyn till effektivitet och pålitlighet,
  • definiera begreppen P, NP, NP-fullständighet och oavgörbarhet,
  • jämföra problem med hänsyn till komplexitet med hjälp av reduktioner,
  • förklara hur man kan hantera problem med hög komplexitet

för att

  • självständigt kunna konstruera datorprogram som effektivt utnyttjar tid och minne,
  • i yrkeslivet kunna identifiera och angripa problem som är orealistiskt resurskrävande eller inte alls går att lösa med dator.

Förändringar inför denna kursomgång

Förändringarna som planerades i föregående års kursanalys har genomförts:

  • Finputsning av den mönsterorienterade undervisningen i dynamisk programmering.
  • Utveckling av undervisningen och övningen i pseudokod och korrekthetsmotivering.
  • Tips om att man ska börja tidigt med mästarproven och avsätta en hel del tid till dom har getts på föreläsningarna.
  • Uppmaningar vad som ska läsas i kursboken har lämnats vid varje föreläsning.

Sammanfattning

Tre delar av kursen har identifierats som särskilt svåra. Därför har Viggo tillsammans med Emma Enström och delvis i samarbete med universitetet i Florens i ett forskningsprojekt studerat svårigheterna och hur dom kan överkommas med olika aktiviteter. Därför har flera självvärderingsenkäter getts vid föreläsningar under kursen, enkäter hämtats in vid varje mästarprov och i samband med tentan.

Kursen har fungerat mycket bra. Aktionsforskningsprojekten har förbättrat kursen och studierna har inte varit störande, tvärtom snarast givande. Nästa år planeras inga nya studier, men resultat från årets studier kommer att användas för att förbättra kursen ytterligare.

Faktiskt innehåll i kursen

Kursen följde det planerade innehållet.

De datadidaktiska forskningsstudierna i kursen kommer att avrapporteras i en artikel som skrivs under våren.

Elevernas synpunkter

Kursansvariga studenter för adk13 var D-teknologen Kristoffer Emanuelsson och I-teknologerna Kattarina Hallin och Björn Söderlind. Mitt i kursen hölls ett kursnämndsmöte. KASarna hade också inflytande över kursenkätens utformning.

Jag la upp en kursutvärdering på webben efter teoritentan men före muntan. Den besvarades bara av 31 elever, vilket enligt flera elever beror på att det gjordes en utvärdering på papper vid tentan, och många uppfattade inte att kursenkäten på webben var en annan enkät som också kunde besvaras.

Eftersom det var så få svar (bara drygt 15% av kursdeltagarna) kan representativiteten vara låg. Här följer en sammanfattning av enkätsvaren med mina kommentarer.

Kursinnehåll

Kursen ansågs vara ganska svår (50%) eller mycket svår (25%) av tre fjärdedelar, medan 10% tyckte den var lätt och resten medelsvår. Det är i stort sett samma som förra året.

4 stycken tyckte inte att dom i början av kursen fick klart för sig vad kursens mål var.

94% tyckte kursen var intressant (jämfört med 98% 2012, 95% 2011, 80% 2010).

Kurslitteratur

Två tredjedelar har använt kursboken (mot knappt hälften förra året), och bara en femtedel av dessa tycker att den inte är bra. Eftersom jag varje föreläsning har påpekat vad man ska läsa i boken till nästa gång så är det inte oväntat att fler har skaffat boken. Alla som använt boken har åtminstone ibland förberett sig inför föreläsningar genom att läsa i boken. Tyvärr är det bara en tredjedel av dom som oftast gör det inför föreläsningarna. Jag tror att detta ändå är mycket mer än i andra kurser, men det är svårt att ändra på inrotade studievanor. Förleläsningarna är upplagda för att i första hand passa den som är förberedd.

Föreläsningsanteckningarna på webben (cirka 140 sidor), med alla stordiabilder som visades samt alla övningsuppgifter med lösningar, ansågs vara mycket bra eller bra av två tredjedelar.

  • Föreläsningsanteckningarna ger en bra överblick och kurslitteraturen är väldigt bra skriven för ett relativt komplicerat ämnesområde.
  • Kurslitteraturen är bra men mycket djupgående, vilket som alltid gör det svårt att sålla ut det relevanta. Bra med läshänvisningar inför föreläsningar.
  • Kurslitteraturen kändes inte nödvändig. Föreläsningsanteckningarna kunde ha haft mer information, är deras begränsade information avsiktlig?

Jag har inte tänkt att föreläsningsanteckningarna ska vara självförklarande och ersätta kursboken. Den som har missat en föreläsning måste läsa i kursboken - det räcker inte med föreläsningsanteckningarna.

Undervisningen

Kursen är upplagd så att den som vill läsa in den själv ska kunna göra det. Trots detta gick 58% (förra året 52%) på i stort sett alla föreläsningarna. 3% (förra året 9%) gick nästan inte på några föreläsningar. Pedagogiskt sett ansågs föreläsningarna mycket bra eller bra av 90% (94% förra året).
84% föredrar entimmesföreläsningar i kursen (79% förra året) och 1% föredrar tvåtimmarsföreläsningar (11% förra året). Jag tycker att entimmesföreläsningar är mycket mer stimulerande än tvåtimmarsföreläsningar och jag ser betydligt färre sovande elever i föreläsningssalen. Att nästan ingen föredrar tvåtimmarsföreläsningar är anmärkningsvärt eftersom detta är den enda kursen i utbildningen som har entimmesföreläsningar.

  • Under förutsättingen att innehållet ska läsas i förväg har föreläsningarna varit bra. Har man dock missat någon liten del kan det ibland vara svårt att hänga med.
  • Imponerande hur Viggo kan göra så svår teori lättbegriplig. Tror att det bygger mycket på att kursen är så bra planerad och att det finns mycket erfarenhet kring vad som är svårt. Mycket tid har lagts på att reda ut det som är svårast, och det är jättebra.
  • Jag föredrar föreläsningar som är till för att vara före läsning, men kursföreläsningarna har fungerat utmärkt att använda på det sättet också. Frågorna har varit extremt givande för mig, man tvingades att dra lite slutsatser och reflektera över vad man just hade hört (På ett sätt som man aldrig får chansen att göra på andra föreläsningar). Går säkert att förbättra dessa ännu mer!

84% tyckte att färgfrågorna (aktiverande alternativfrågor där var och en svarar med en färglapp) var mycket givande eller ganska givande. Bara 10% ansåg dom mindre givande och ingen att dom var värdelösa.

36% av eleverna gick på minst 60% av övningarna, mot 47% förra året. Över 70% tyckte ändå att övningarna pedagogiskt sett var mycket bra eller bra, så varför inte fler deltog är svårt att förstå.

  • Jag har stor respekt för alla tre assistenterna men tycker att Marcus kan bli lite rörig ibland plus att han typ aldrig suddar tavlan och försöker hitta småställen att skriva på varför det blir ännu rörigare att hänga med. Anders har bra koll själv men kan vara lite för stressad för att på ett lugnt och pedagogiskt sätt förklara när man inte vet. Emma har jag enbart oerhört positiva saker att säga om, trevlig, lugn, mycket kunnig, jättepedagogisk, lyhörd.. skulle kunna fortsätta.. jag förstod jättemycket när jag hade henne!
  • Bra övningar, men svårt att följa de komplexa uppgifterna. Vet inte hur det skulle kunna göras annorlunda, dock.

Övningsgrupperna har olika karaktär och svårighet, och de flesta elever tycks ha hittat en grupp som passar.

Examinationsformen

Examinationsformen med en tredjedel av vardera labbar, mästarprov och tenta ansågs mycket bra eller bra av nästan alla (92%). Majoriteten (71%) tyckte att betygsättning med betygskriterier var bra och att det var bra att det fanns flera sätt att redovisa att man uppnått lärandemålens betygskriterier.

Nästan alla (84%) tyckte att kamraträttning av teoritentan var bra eller åtminstone acceptabelt. Lika många ansåg att lärarens återkoppling vid redovisningarna av mästarproven var mycket bra, bra eller acceptabel. Bara 27% la ner mer än 30 timmar på mästarprov 1 och 12% la ner mer än 30 timmar på mästarprov 2.

  • Jag tycker att det är jättebra att det inte bara är en stor tenta på slutet. I sådana kurser tenderar jag att bara plugga sista veckan, så då lär man sig sakerna bara för tentan och glömmer dem fort. När man tvingas arbeta mer kontinuerligt får man ut mycket mer av kursen. Jag tycker att det är bra att allting vägs ihop på slutet och är lika mycket värt. Det gör att man tvingas ta allting seriöst och inte kan slappa på något. Sen vet jag att vissa tycker att det är dåligt att det är det lägsta betyget som gäller, och inte något medelvärde som i många andra kurser. Detta tycker dock jag är bra. Många kurser på KTH är väldigt slappa, och om man säger att man vill ha A så får man det. Det verkar som att många lärare och assar inte "vågar säga nej". I ADK kursen finns det tydliga krav, och man måste kämpa för sitt betyg. Det känns mycket rimligare än att alla ska få A. Betyget blir mer värt när kursen är svår. Dessutom är kursen inte orimligt svår eller oförlåtande. Om man misslyckas med ett mästarprov för man är sjuk eller något liknande så finns det möjlighet att munta upp betyget. Så kursen är tuff men rättvis. Mycket bra. Kamraträttning är acceptabelt. Föreläsarna brukar säga att det är "för att vi ska lära oss av andra", det har jag dock aldrig upplevt att jag gjort. Men det är ok.
  • Har varit med om att kamraträttningar inte har fungerat bra alls, men i detta fallet så var det väldigt bra uppstyrt, och det kändes därför väldigt bra.
  • Det känns orättvist att få E när man har E, A, C som betygsuppsätyning. Ett snedsteg så är man körd.
  • Det är enkelt att få godkänt på kursen, men för att få högre betyg måste man faktiskt jobba en hel del. Många kurser har svårt med detta, men här var det väldigt lyckat.

Även om man har betygen E, A, C så är det inte kört eftersom man kan munta upp första betyget till C och få C som slutbetyg eller både första och tredje betygen till A och få A som slutbetyg. Det går också att göra extralabben för att få A på det tredje betyget. Ytterligare en metod är att plussa betyg i en senare kursomgång.

ADK-kursens betygskriterier och examination har prövats i många år och alltid uppskattats av flertalet elever. Därför tjänar kursen numera som exempel i den nya högskolepedagogiska kursen i betygskriterier för KTHs lärare.

Eftersom mästarproven är moment värda 1,5 hp var så är det rimligt att lägga ner en veckas jobb (inklusive inläsning) på varje. Många skulle nog få bättre betyg på mästarproven om man ägnade mer tid åt dom. Jag ska rekommendera det inför mästarproven nästa år.

Kattis

Det automatiska programtestningssystemet Kattis används för sjätte året i kursen. Kattis fick helhetsbetyget mycket bra eller bra av 80% (mot 76% förra året och 83% året innan). Bara 3 stycken ansåg systemet vara mindre bra eller dåligt.

  • Kattis är bra då man får ett konkret mål att jobba mot. Det är väldigt bekvämt att veta på förhand att ens program är godkänt. Dessutom så inför topplistorna ett tävlingsmoment som kan vara motiverande.
  • Instant feedback! Helt suverän metod!
  • Återkopplingen kan ibland inte vara helt självklar. T.ex. så returnerade Kattis Signaled (11) (dvs. pointer relaterat) vid en uppgift där felet egentligen var att vi hade överstigit den tillåtna minnesanvändningen - tog en stund att inse detta eftersom vi var helt inställda på att det hade något med våra pekare att göra.
  • Då återkopplingen är så begränsad att man inte ens kan se vilken rad som ger ett exception var jag vid ett tillfälle tvungen att binärsöka efter raden genom att medvetet kasta ett annat exception på olika platser i min kod. Iofs relevant för kursen men kanske en lite slöseri med min tid?

Kattis har massor av goda pedagogiska sidor. Det gäller bara att undvika dom få avigsidorna. Kattis kan inte avslöja sina testindata, det skulle urvattna Kattis funktion mer och mer. Kattis skulle ursprungligen bara testa att programmen gör rätt och är tillräckligt snabba, men många som använder Kattis vill också att hon ska hjälpa till att hitta fel i programmen!

Särbehandling och genus

Bara en ansåg sig ha blivit utsatt för särbehandling, och den personen gav kommentaren: Som ortodox P=NP:ist känner jag mig oerhört kränkt när det predikas hejvilt om att min religion är falsk. Jag får känslan av att det finns en dold agenda hos kursledningen, nämligen att försöka skada oliktänkande personers världsbild. Diskussioner med Jäm-O pågår...

Några kommentarer om kursen ur ett genusperspektiv:

  • Bra att det är både kvinnor och män som har varit övningsledare.
  • Jag blev glatt överraskad att ni i lydelsen till mästarprov 1 (uppgift 2) på ett utmärkt sätt visar att det finns en naturlig plats för ett könsneutralt pronomen i svenska språket, och att detta inte behöver vara ett värdeladdat ord.

Dom flesta hade inte funderat över kursens genusperspektiv eller tyckte ens att det var något som hade med kursen att göra.
För första gången hade kursen en majoritet kvinnliga övningsassistenter. Det tror jag bara är bra.

Glädje av kursinnehållet

90% tror sig ha nytta av hela eller en hel del av kursinnehållet i framtiden (88% förra året och 67% året innan). Detta visar att kursen är och uppfattas som central för utbildningen, och att den extra motivation av komplexitetsdelen som infördes förra året haft effekt.

Förslag till förbättringar och allmänna kommentarer

Jag vill säga att kursen var väldigt lärorik och rolig. Ibland kändes den väldigt hård på rättning av uppgifter, men det får man ta. Det jag gärna skulle se i framtiden är att det läggs lite mer fokus på hur tydlig man ska vara vid lösning av uppgifter så man kan vara säker på att man är tillräckligt tydlig. Inte bara för kursens skull utan för att det är viktigt att kunna visa lösningar på problem så att andra än en själv faktiskt kan förstå det.
En jätteviktig kurs som får dig att tänka på programmeringsproblem från flera vinklar och ett effektivt tänk kring algoritmer är något man får med sig i framtiden.
Bra men svår. MYCKET svårt att hinna med labbarna i tid. Hade velat ha mer hjälp.
Väldigt intressant och roligt innehåll på kursen. Det känns som att man kommer ha nytta av allt man har lärt sig på ett eller annat sätt i framtiden, vilket inte kan sägas om särskilt många andra kurser. Utöver allt det datalogiska man lär sig så blir man också en bättre programmerar i allmänhet.

Kursen får generellt mycket beröm även om vissa kritiska röster finns. Just osäkerheten vad gäller hur algoritmer ska beskrivas med pseudokod och hur noga dom ska motiveras kommer vi att försöka göra tydligare och öva mera på nästa år.

Anpassning till andra kurser

Kursen samordnades med Diskret matematik för D3 som lästes parallellt. Det har fungerat bra. Tidpunkter för inlämningar och redovisningar har samordnats med alla övriga kurser som D3 läser på hösten.

Fortsättningskurserna (Avancerade algoritmer, Kryptografins grunder, Seminariekurs i teoretisk datalogi, Algoritmisk bioinformatik, Komplexitetsteori och Problemlösning och programmering under press) är planerade att passa ihop med ADK.

Planerade förändringar

  • Finputsning av den mönsterorienterade undervisningen i dynamisk programmering. En forskningsstudie kommer att göras på detta.
  • Utveckling av undervisningen och övningen i pseudokod och korrekthetsmotivering. Detta görs också i ett forskningsprojekt.
  • Tips om att man ska börja tidigt med mästarproven och avsätta en hel del tid till dom kommer att ges på föreläsningarna.
  • Uppmaningar vad som ska läsas i kursboken kommer att lämnas vid föreläsningarna.

Viggo Kann