Nada

Kursanalys för 2D1352, Algoritmer, datastrukturer och komplexitet, våren 1999

Kursdata

Tid: period 3-period 4 läsåret 1998/99 dvs januari-maj 1999
Poängantal: 6 (varav 2 på labb, 1 på hemtal, 3 på tenta)
Tenta: ordinarietenta efter period 4 (5 juni)
Föreläsningar: 48 timmar.
Övningar: 24 timmar.
Kursledare och föreläsare: Viggo Kann
Övningsassistenter: Lars Ivansson, Öjvind Johansson, Staffan Ulfberg (alla doktorander i teoretisk datalogi)
Antal elever: 134 studenter från D (105 D-97, 24 D-äldre och 5 D-98), 3 gäststudenter, 1 från M och 1 doktorand, totalt 139 stycken.
Kurslitteratur: David Harel: Algorithmics - the spirit of computing, Addison-Wesley. Dessutom användes för algoritmdelen boken Cormen, Leiserson, Rivest: Introduction to Algorithms, McGraw-Hill, som användes i Indakursen.

Avklarade moment efter ordinarietentan 1999-06-05:

Tenta          96 av 108 (89% G av tentander, 69% av alla)
Labb 1        134
Labb 2        125
Labb 3        130
Alla labbar   120 (86%)
Hemtal        122 (88%)

Prestationsgrad:    78%
Examinationsgrad:   65%

Mål

Kursens mål är att för att eleverna ska

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

Kursen gick för första gången. Tidigare läste D2 en kurs med samma namn och poängtal men med kursnummer 2D1353. Det skiljer ganska mycket mellan dessa kurser, både till innehåll och form. I synnerhet är det avsnitten om komplexitet och approximation som utökats.

Sammanfattning

Det är en utmaning att få detta traditionellt superteoretiska ämne att kännas relevant och roligt för eleverna. Jag har försökt göra det genom att lägga in laborationer och att ge flera jordnära exempel på föreläsningarna. Detta har uppskattats, men många elever vill ha ännu mycket mer praktisk anknytning.

Resultatet på ordinarietentan var mycket bra. Bara 12 underkända av 108 tentander (11%). Labbarna och hemtalen har fått eleverna att hänga med i kursen någorlunda, men koncentrationsläsningen av Diskret matematik i period 3 gör att många elever kommer efter i ADK.

Dom muntliga redovisningarna av hemtalen är mycket trevliga för lärarna och är förhoppningsvis givande för eleverna. Möjligheten till personlig vägledning är värd väldigt mycket. Tråkigt nog är det många elever som har känt sig orättvist behandlade i hemtalen, mestadels på grund av misstankar om att kamraterna fuskat.

Faktiskt innehåll i kursen

Jag har gjort en beskrivning av kursens faktiska innehåll, som överensstämde med det planerade.

Omfattande dokumentation av kursen finns också tillgänglig på kursomgångens webbsida.

Elevernas synpunkter

En enkät (60 svar, 43%) gjordes med ACE. Därefter hade jag ett möte med kursens två studentkursutvärderare. Här följer en sammanfattning av enkätsvaren.

Kursinnehåll

Kursen ansågs vara ganska svår (44%) av många, medan några tyckte den var medelsvår (23%) eller mycket svår (28%). Jag tror att kursen är en av dom svåraste obligatoriska kurserna på D på grund av sitt teoretiska innehåll.

70% fick i början av kursen klart för sig vad kursens mål var; 23% var tveksamma. En stor majoritet (80%) tyckte kursen var intressant och meningsfull.

Kurslitteratur

Huvudkursboken (Algorithmics) fick ett ganska gott omdöme (84% av dom som använt den tyckte mycket bra, bra eller hyfsat om den). Enligt kommentarerna var boken lättläst, särskilt i början, och trevlig men lite pratig och kanske inte alldeles nödvändig för den som bara vill klara kursen.

Algoritmboken (Cormen, Leiserson, Rivest) fick ungefär lika gott omdöme men ansågs i flera kommentarer vara onödigt matematisk, svårläst och fysiskt tung.

Föreläsningsanteckningarna (ca 130 sidor), med kopior på alla stordiabilder som visades samt alla övningsuppgifter med lösningar, ansågs vara mycket bra (44%) eller bra (38%) av nästan alla. Veckans föreläsningsanteckningar delades ut i början av första föreläsningen varje vecka och fanns sedan tillgängliga utanför expeditionen. Kommentarerna var mestadels positiva ( "Kanon", "Service!", "Bra, korta och koncisa") men någon tyckte att vissa algoritmer var för krångligt och kortfattat beskrivna.

Undervisningen

Kursen är upplagd så att den som vill läsa in den själv ska kunna göra det. Trots detta gick 52% på i stort sett alla föreläsningarna. 15% gick nästan inte på några föreläsningar. 60% ansåg att föreläsningarna pedagogiskt sett var mycket bra eller bra, 13% att dom var mindre bra eller dåliga. Några kommentarer:
"Bra pedagogiskt, men materialet är så svårt att det av den anledningen är omöjligt att hänga med."
"Med tanke på att det fanns färdiga föreläsningsanteckningar var tempot på föreläsningarna alldeles för lågt. Det blev rent ut sagt långtråkigt ibland. Allt behöver inte förkaras så grundligt. I övrigt var föreläsningarna bra och pedagogiska."
"I vissa fall skulle tydligare och konkretare exempel vara bra. Efter att ha sett den teoretiska lösningen vore ett praktiskt exempel på sin plats."
""

62% gick på minst 60% av övningarna. 66% ansåg att övningarna pedagogiskt sett var mycket bra eller bra.
Kommentarerna gav övningsassistenterna mestadels god kritik. Några ansåg att övningsuppgifterna var för svåra.

Examinationen

För första gången har det varit programmeringsuppgifter i denna kurs. Tanken var dels att labbarna skulle ge övning i implementation av algoritmer, dels att dom skulle motivera teorin i kursen. Nästan alla (87%) ansåg det mycket bra eller bra att ha labbar i kursen. Labb 1 ansågs bra, labb 2 svårimplementerad och labb 3 bra och rolig. Medelvärdet för den nedlagda tiden på varje labb var 15 timmar, 20 timmar respektive 10 timmar, alltså totalt 45 timmar, vilket möjligen är i underkant eftersom labbkursen är värd 2 studiemedelspoäng. Examinationsformen med till hälften tenta och till hälften labbar och hemtal ansågs mycket bra eller bra (92%). Systemet med bonuspoäng och hemtalstillgodoräkning på tentan ansågs vettigt men teoripoängen på labbarna och hemtalspoängen fick också en hel del kritik. Flera ansåg att teoripoängen var för svåra att få och att poängsättningen på hemtalen var orättvis.

Kommentarer om hemtalen

Enkäten gjordes innan tentan gick så det fanns inga enkätfrågor om den. Dom elever jag frågade efter tentan tyckte att den var bra och enklare än dom hade befarat.

Anpassning till andra kurser

Kursen samordnades i stor utsträckning med Diskret matematik (Kimmo Eriksson var kursledare på den) i period 3. Samordningen yttrade sig till exempel i att rekursionsekvationer och grafteori presenterades i matten och tillämpades i ADK. Labb 1 var en graflabb.

Fortsättningskurserna (Avancerade algoritmer, Parallella beräkningar och Komplexitetsteori) tror jag ska passa bra med ADK. Förra året samordnade jag med Johan Håstad och Jens Lagergren så att det inte ska bli några överlapp eller glapp mellan min kurs och deras.

Planerade förändringar

Jag tycker att kursen i stort har fungerat rätt bra. Det största problemet är att få alla elever, även dom svagare, med på noterna och få dom att börja jobba med kursen tidigt.

^ Upp till kursomgångar.


Sidansvarig: <viggo@nada.kth.se>
Senast ändrad 13 mars 2000
Tekniskt stöd: <webmaster@nada.kth.se>