bild
Skolan för
elektroteknik
och datavetenskap

Kursanalys för DD2458, popup15 (HT 2015)

Författare: Per Austrin

Kursdata

Data baserar sig på resultat inrapporterade 2016-01-18

Kurs DD2458, Problemlösning och programmering under press, 9hp
Examination programmeringsuppgifter, problemsessioner och presentationer
Genomförd HT 2015
Föreläsningar 24 timmar (12 st)
Kurslitteratur (rekommenderad) Kompendium med föreläsningsanteckningar.
Antal studenter 34/32/30 beroende på vem man frågar. Prestations/examinations-grad nedan baserade på 34.
Prestationsgrad88.2% (HT14: 94.2%, VT14: 95.3%)
Examinationsgrad88.2% (HT14: 88.4%, VT14: 90.6%)
(Utöver detta har två studenter från tidigare kursomgångar kompletterat upp till godkänt under kursomgången.)
Ansvarig/föreläsare Per Austrin
övriga lärare Marc Vinyals

Sammanfattning

En på det hela taget lyckad kursomgång.

Antal studenter

Totalt 34 kursregistrerade studenter. Två hoppade av utan att påbörja kursen. En hoppade av under första veckan, och en student hoppade av under tredje veckan. Återstående 30 har hängt med genom hela kursen och är samtliga klara med kursen.

Översiktsbeskrivning av kursen

Kursinnehåll

Vi har följt den planering som finns på kursomgångens hemsidor. 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 även problem inom t.ex. talteori och geometri.

Förkunskaper

Problemen kräver ofta tillämpning av 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.

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; en bok som kan rekommenderas är Cormen, Leiserson, Rivest och Steins Introduction to Algorithms. Kompendient bygger på tidigare års föreläsningsanteckningar och är numera så pass komplett att det fungerar rätt bra. Det täcker dock inte in de nya ämnen som lades till 2013, och dessutom finns en disjunkt uppsättning föreläsningsanteckningar som i vissa fall täcker in mer än kompendiet, och i andra fall mindre.

Undervisning

Undervisningen har dels bestått av teoriföreläsningar och dels av praktiskt orienterade hemtal/labbar. Dessutom har ett antal obligatoriska problemsessioner varit en del av examinationen. Hemtalen gås igenom med muntliga lösningspresentationer av eleverna.

Examination

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

LAB1

  • Problemsessioner: fyra st 4.5-timmars problemlösningspass i labbsal
  • Labbar: bygga ett litet kodbibliotek (i grupper om två)

OVN1

  • Hemuppgifter: programmeringsuppgifter som endast redovisas via Kattis (individuellt)
  • Muntliga presentationer för hemtalsproblem.

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 (algoritmiska problem i Kattis). Det är dock inte alls nödvändigt att lösa alla för att få godkänt på kursen.

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örändringar från föregående kursomgång

  1. Justering av betygsnivåer

    Jag har genomfört följande plan från förra årets kursanalys:

    Till nästa omgång kommer jag antagligen att
    1. Höja kraven för E något genom att kräva mer deltagande i de muntliga presentationerna (jag märkte i år att man i praktiken nästan helt kunde skippa dessa i år).
    2. Sänka kraven för A något genom att kräva färre antal lösta problem. I dagsläget är skillnaden mellan B och A att man både löst fler uppgifter och svårare uppgifter. Jag planerar alltså att sänka antalet uppgifter man behöver lösa för A, men ha kvar kravet på att man ska lösa svåra uppgifter.

Åsikter från studenterna

En enkät har genomförts och den har besvarats av 22 av 32 studenter. Resultaten finns som bilaga.

Enkäten tyder på att studenterna på det stora hela är mycket nöjda. Några svar i urval av mer kritisk karaktär eller med konkreta förändringsförslag, och mina kommentarer:

  • "Use modern teaching. Holding a lecture a week and letting everyone do whatever is unnecessarily inefficient. Seriously, read any empirical study on learning/memory/expertise/whatever and incorporate it little by little. There are some good ones in science magazine, such as "Improved Learning in a Large-Enrollment Physics Class" and "Retrieval Practice Produces More Learning than Elaborative Studying with Concept Mapping" "

    While I am very happy that some students are interested in pedagogy I feel that this comment is a bit inaccurate. Sure, if you disregard every aspect of the course which is not traditional (such as the examination format, the use of Kattis, etc) then what remains looks like a very mossy course.

    I would also point out the perhaps obvious fact that what is an appropriate teaching format for a large-scale introductory class is not necessarily the same as for an effectively fifth-year advanced course.

  • "More interactions with other students. In the current setup it felt a lot like everyone was on his or her own. It was clear that some students had a very tight grasp on these types of problems. It would have been nice to learn from them too. "

    I agree with this suggestion, and will consider ways of doing that for next year, in ways that hopefully also partially addressess the previous comment.

  • "Please rearrange the timing between lectures and lab deadlines! As it was now, most deadlines were the very day after the lectures had mentioned the concepts in question, meaning that we had to look up things on our own and then hear it again in the lecture, instead of receiving the basics in a lecture with enough time to spare to then explore further on our own and implement the necessary algorithms. And if this 'lecture on subject last day before deadline' was an intentional way of achieving the 'under pressure' part, please reconsider. "

    I believe this is based on a misconception caused by a very unfortunate typo on the web page: one page claimed that the homework deadlines were on the Wednesday evening following the relevant lecture, but the deadline was in fact on Tuesday evenings. Since lectures were on Wednesday mornings, this made a big difference. The detailed schedule (to which the page with the incorrect information referred) had the correct information, however. Unfortunately I was not alerted to this error until after the course was over, as nobody raised this issue during the course. Apologies to the affected student(s).

    "Do you think a novice masters dynamic programming in 1-2 days, without any help?"

    Such an event would surely be a sight to see! In the context of this course, however, I will point out that dynamic programming is part of the ADK/AlgoKomp courses that students have already taken. The goal of the dynamic programming part of this course is not to turn novices into masters, but to let the students practice and improve, or at the very least refresh and repeat the basic dynamic programming skills learned there.

Slutsatser om förändringar

Interaktion

Jag ska fundera på sätt att öka mängden interaktion mellan studenterna.

Kurskompendium

Favorit i repris från de senaste årens kursanalylser: I något läge skulle jag vilja skriva ett nytt kurskompendium där fel och mindre bra passager i det existerande kompendiet fixas till, och det material som saknas (t.ex. det som lades till i kursen i år) läggs till. Detta är dock ett synnerligen tidskrävande projekt och jag vet inte när det kan tänkas bli av och när jag kan tänkas få tid för detta.

Copyright © Sidansvarig: Per Austrin <popup-15@csc.kth.se>
Uppdaterad 2016-06-03