bild
Skolan för
elektroteknik
och datavetenskap

Sidan är under uppdatering.

Programmering och problemlösning under press

Kursanalys för popup06

Författare: Mikael Goldmann

Kursdata

Kurs 2D1458, Problemlösning och programmering under press, 6p
Examination programmeringsuppgifter, problemsessioner och anteckningar
Genomförd HT 2006
Föreläsningar 28 timmar (14 st)
Kurslitteratur (rekommenderad) Skiena: the Algorithm Design Manual, Cormen et al.: Introduction to algorithms eller liknande.
Antal studenter 28 i res
Ansvarig/föreläsare Mikael Goldmann
Övriga lärare Per Austrin, Gunnar Kreitz, Fredrik Niemelä och Alexander Baltatzis

Sammanfattning

Studenter

Studenterna går i huvudsak tredje eller fjärde året av sin utbildning. De 27 som följt kursen är fördelade enligt

20 från D
1 från SU
6 från F

Några studenter aviserade mycket tidigt att de inte tänkte fullfölja kursen. Dessa finns inte i res och har inte räknats med i statistiken. Jag har ocskå valt att räkna bort en student som klarat av ett av kursens moment tidigare och som anmält sig i år igen för att fullfölja det andra momentet, men som endast gjort den först av de 12 problemomgångarna. Det är dock många av de 27 som inte slutfört kursen detta år. Två studenter (en från F, en från SU) provade att gå kursen redan i årskurs 1 och kom fram till att de vill vänta med den för att lättare kunna få ett högt betyg. Två studenter har valt att spara ett av kursens två moment till senare. En student har varit djupt involverad i mottagningen på D. Tre studenter förefaller ha hoppat av utan att meddela mig. De har arbetat med noll, en, respektive två av de 12 hemtalen.

Nyckeltal

Prestationsgrad och Examinationsgrad (2007-03-01) är 59% respektive 52%. En person kan enkelt komplettera till godkänt på kursen, och jag tror att de två som sparade det ena momentet kan tänkas göra det i år. De två som försökte sig på kursen i 1:an återkommer nog, men övriga som har mycket kvar, eller som verkar ha hoppat av återkommer antagligen inte eftersom de befinner sig i slutet av sin utbilding.

Mål

Kursens mål är att ge
  • praktiska kunskaper i programmering och problemlösning under tidspress,
  • fördjupade kunskaper i konstruktion och analys av algoritmer,
  • metoder för effektivt lagarbete,
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. Kursen innehåller en liten 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

Kurslitetteraturen är valfri, men 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.

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

Ny kursledare.

Enkät

En enkät har genomförts och den har tyvärr besvarats av endast nio 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. I kommentarer framhålls kursens bredd och den intensiva träningen i programmering som positiva. Bland det som sägs vara mindre bra är arbetsbelastningen ("stressigt") och att den sista fjärdedelen av kursen känns mindre rolig och motiverande än resten.

hjälp och handledning har man kunnat få på olika sätt. Det som verkar mest uppskattat och använt har varit möjligheten att fråga på en IRC-kanal.

Slutsatser och kommande förändringar

Betygskriterier (a la Bologna) behöver utarbetas.

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 översikt av arbetsbelastningen kommer att göras, men det är inte säkert att den leder till några förändringar. Det kan också vara värt att se över den sista fjärdedelen av kursen för att se om den kan förbättras.

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

En sammanställning av anteckningar från 2005 och 2006 kommer att säljas som kurslitteratur.

Copyright © Sidansvarig: Mikael Goldmann <migo@kth.se>
Uppdaterad 2007-06-09