bild
Skolan för
elektroteknik
och datavetenskap

Kursanalys för DD2458, popup07

Författare: Mikael Goldmann

Kursdata

Kurs DD2458, Problemlösning och programmering under press, 9hp
Examination programmeringsuppgifter, problemsessioner och anteckningar
Genomförd HT 2007
Föreläsningar 24 timmar (12 st)
Kurslitteratur (rekommenderad) Kompendium med föreläsningsanteckningar. Rekommenderade komplement: Skiena: the Algorithm Design Manual eller Cormen et al.: Introduction to algorithms eller liknande.
Antal studenter 36 i res varav 6 hoppat av och 4 haft avklarade moment sedan tidigare, vilket innebär 26 aktiva studenter utan tidigare moment på kursen.
Ansvarig/föreläsare Mikael Goldmann
Övriga lärare Per Austrin och Gunnar Kreitz

Sammanfattning

Studenter

Sex studenter hoppade av kursen mycket tidigt. Fem av dem har inte delatagit i examinationen alls, och en har endast lämnat in första veckans uppgifter. Dessa studenter klassas nedan som avhoppade och tas inte med i statistiken. Jag har också valt att räkna bort de fyra studenter som klarat av ett av kursens moment tidigare och som anmält sig i år igen för att fullfölja det andra momentet.

Studenterna går i huvudsak tredje eller fjärde året av sin utbildning. De 26 aktiva nya studenterna (exklusive avhoppade och studenter med moment sedan tidigare) är fördelade enligt

20 från D
2 från SU
2 från F
2 från IT

Nyckeltal

Prestationsgrad och Examinationsgrad (2008-05-13, räknat på nya studenter som inte hoppat av) är 81% respektive 65%. Det är rimligt att hoppas att ytterligare ett par personer blir klara med kursen före nästa omgång.

Jag tolkar examinationsgrad som andel som klarat kursen. VIS har någon annan definition av examinationsgrad som leder till att den blir 100% på moment där man inte rapporterar in underkända resultat. Siffrorna ovan kan jämföras med tidigare års siffror eftersom de är beräknade på samma sätt.

Statistik enligt VIS

Enligt VIS hade kursen 28 studenter (VIS räknar antagligen bara FFG-registrerade KTH-studenter och räknar inte bort avhopp): 22 från D, 4 från F och 2 från IT.

Prestationsgraden för dessa studenter är 68% och examinationsgraden är, som tidigare nämnts, 100%.

Mål

Kursens mål är att studenten ska kunna
  • analysera effektiviteten hos olika lösningsmetoder för att avgöra vilka som i ett givet sammanhang är rimligt effektiva,
  • jämföra givna problem med avseende på svårighetsgrad,
  • använda och anpassa grundläggande algoritmer inom områden som grafteori, talteori, geometri på givna problem,
  • använda algoritmkonstruktionsmetoder som giriga algoritmer, dynamisk programmering, dekomposition och kombinatorisk sökning för att konstruera algoritmer för att lösa givna problem,
  • givet en specifikation av en algoritm eller datastruktur, implementera den korrekt i ett programmeringsspråk,
  • kommunicera med andra studenter under problemlösning i grupp,
  • i skrift beskriva algoritmer, datastrukturer och problem på ett koncist och begripligt sätt.
för att studenterna ska
  • kunna arbeta effektivt under tidspress,
  • bli duktigare på praktisk problemlösning och programmering,
  • kunna delta framgångsrikt i nationella och internationella programmeringstävlingar.
En förhoppning är också att deltagarna ska inspireras att delta i tävlingar utanför kursen, speciellt i SM/NM.

Verkligt kursinnehåll

Vi har följt den planering som finns på kursomgångens hemsidor, med två undantag: Gästföreläsningen ställdes in pga sjukdom och den sista föreläsningen ställdes in pga tidsbrist. Kursen innehåller en mindre mängd teori utöver det som ingår i ADK-kursen, men förståelsen för specifika algoritmer och datastrukturer fördjupas och förmågan att använda dessa kunskaper praktiskt tränas grundligt. Tonvikten ligger på kombinatoriska problem men det förekommer enkla numeriska och geometriska problem också.

Undervisning

Undervisningen har dels bestått av teoriföreläsningar och dels av praktiskt orienterade övningar/labbar. Dessutom har ett antal obligatoriska problemsessioner varit en del av examinationen.

Examination

Kursen har två moment som vardera består av två delmoment:

LAB1

  • Problemsessioner: fyra st fyra-timmars problemlösningspass i labbsal
  • Bygga ett litet kodbibliotek

OVN1

  • Hemuppgifter: programmeringsuppgifter som endast redovisas via Kattis
  • Förelsningsanteckningar: färdigställa anteckningar i latexs från en föreläsning

Problemsessionerna genomförs i grupper med två personer (i undantagsfall tre personer). Meningen är att delar av kodbiblioteket ska vara användbart på problemsessionerna.

För i stort sett varje vecka finns en uppsättning med sex hemuppgifter. Det är dock inte alls nödvändigt att lösa alla för att få godkänt på kursen. För föreläsningsanteckningar finns vissa krav på språk, presentation och typografi, samt i vissa fall att man fyller i luckor i resonemang. Meningen är att anteckningarna ska kunna användas som kurslitteratur. Anteckningarna kan göras av en grupp.

Kurslitteratur

Kurslitteraturen utgörs av ett kompendium baserat på tidigare kursomgångar. Dessutom är det lämpligt att ha en bok om algoritmer och datastrukturer; ett par böcker som kan rekommenderas är Skienas The Algorithm Design Manual och Cormen, Leiserson, Rivest och Steins Introduction to Algorithms.

Studenternas arbetsbelastning

Examinationen har varit utspridd över hela kursen. Problemsessionerna har varit vissa bestämda datum, men man har inte varit tvungen att delta vid alla tillfällen. De uppgifter som ska lösas varje vecka kan ta ganska lång tid i anspråk totalt över hela kursen om man siktar på ett bra betyg. Studenterna tycks dock jobba hårdare under kursens första halva, när de fortfarande är osäkra på vad som i praktiken krävs.

Förkunskaper

Problemen kan ofta lösas genom att tillämpa algoritmer och metoder från kursen Algoritmer, datastrukturer och komplexitet (eller liknande kurs), så kursdeltagarna behöver förkunskaper motsvarande stora delar av den kursen.

Förändringar från föregående omgång

Den största förändringen är övergången till bokstavsbetyg. Kursens två delmoment är betygsatta enligt mål specificerade i kursprogrammet. Slutbetyget på kursen är medelvärdet (beräknat på naturligt sätt )av momentbetygen avrundat neråt. För att få A krävs att man får VG på sina föreläsningsanteckningar, förutom att man behöver ha A på båda delmomenten. Detta har fungerat bra.

Det kompendium som användes är nytt för i år. Det tycks ha fungerat bra.

Enkät

En enkät har genomförts och den har tyvärr besvarats av endast åtta personer. En sammanställning av resultaten finns som bilaga.

Det går knappast att göra någon kvantitativ analys av enkäten, men man kan i alla fall konstatera att samtliga tyckte att kursen var mycket intressant och meningsfull. Man kan också konstatera att kursen upplevs som arbetsam och att åtminstone en eller annan student gärna skulle velat ha mer handledning.

Hjälp och handledning har man kunnat få på olika sätt. Det som förra året fungerade bäst var möjligheten att fråga på en IRC-kanal. I år fungerade det inte riktigt lika bra och antaglign hade en nyhetsgrupp varit bättre. Det beror på preferenserna hos den lärare som svarar på frågorna.

Slutsatser och kommande förändringar

Under HT 2008 kommer Douglas Wikström att vara kurseledare.

Frågan är vad man kan göra för att studentbortfallet ska bli mindre. Dock försvan de flesta studenterna inom några veckor, så det beror antagligen på att de redan tidigt drog slutsatsen att kursen inte passade dem eller att de ville skjuta upp den till ett senare år.

En genomgång och uppdatering av hem- och labbuppgifter görs varje år. Problemen till problemsessionerna byts alltid ut inför varje år.

Copyright © Sidansvarig: Mikael Goldmann <migo@kth.se>
Uppdaterad 2008-05-14