bild
Skolan för
elektroteknik
och datavetenskap

Kursanalys för DD1320 Tillämpad datalogi, hösten 2010

Kursdata

Tid: period 1,(2) dvs september-november 2010.
Poängantal: 6hp (varav labb 3 poäng, tenta 3 poäng).
Föreläsningar: 28 timmar.
Övningar: 14 timmar.
Labbar: sju laborationer, 20 timmar schemalagd tid.
Hemtal: sex frivilliga hemtal.
Kursledare och föreläsare: Linda Kann
Övningsassistenter: Joel Gunnarsson Sjöstrand, Emma Enström, Siavash Soleimanifard, Daniel Bosk
Labbassistenter: Utöver övningsassistenterna: Rakiv Ahmed, Mikael Eriksson, Pärham Fazelzadeh Hashemi, Andreas Gustafsson, Marko Petrovic, Julia Shcheslavskaya Eriksson, Björn Terelius, Joel Westberg
Kursnämnden bestod av Jakob Florell och Linnéa Björklund (från CMETE), Sara Pettersson (från CMEDT), Anna Johansson (från CL) och Åsa Björndahl (från CINEK).

Antal elever: 237 kursregistrerade, varav 37% kvinnor. Fördelningen på olika program var följande:
67 från CINEK,
85 från CMETE,
14 från CL,
40 från CMEDT,
11 från CSAMH,
4 från CDATE,
2 från CMAST,
1 från CTFYS,
1 utbytesstudent

Kurslitteratur var liksom förra året "Problem Solving with Algorithms and Data Structures Using Python" av Bradley N. Miller & David L. Ranum.

Sammanfattning

Det var 81 fler på kursen än förra året, vilket ledde till trängsel på övningar och labbar (trots extrainlagda tider). Examinationsgraden är lite lägre än förra året och prestationsgraden är något högre. Som vanligt är det de två sista laborationerna som många inte redovisat.

Avklarade moment 2011-04-27

Resultaten är

Antal, andel per moment (året innan i parentes)

Antal registrerade            =   237      (156     )
Antal examinerade elever      =   121 75%  (121, 81%)
Prestationsgrad               =       85%  (     82%)

Enligt statistiken är det över 90% som redovisat labbarna 1-5, men endast 77% som redovisat labb 7.

Prestationsgraden är aningen högre för kvinnorna: 87% jämfört med 85% för kursen i stort.

Mål

Efter genomförd kurs ska man kunna följande:
  • systematiskt testa program för att upptäcka fel,
  • använda abstraktion som ett verktyg för att förenkla programmeringen,
  • välja lämplig algoritm till ett givet problem,
  • jämföra algoritmer med avseende på tids- och minnesåtgång,
  • beskriva olika algoritmer för sökning och sortering och deras egenskaper,
  • formulera och implementera rekursiva algoritmer,
  • skriva en liten BNF-syntax för ett formellt språk och skriva ett program som undersöker om ett uttryck följer en BNF-syntax,
  • modellera verkliga problem som sökproblem och implementera algoritmer för breddenförstsökning, djupetförstsökning och bästaförstsökning,
  • beskriva grundläggande komprimeringsalgoritmer och i vilka typer av komprimering dom används,
  • konstruera en automat för textsökning och beskriva hur den fungerar,
  • implementera och använda stackar och köer,
  • implementera insättnings-, genomgångs- och sökoperationer i binära sökträd och allmänna träd samt använda dessa,
  • implementera och använda hashtabeller och hashfunktioner,
  • använda prioritetsköer,
  • identifiera problem där datastrukturerna ovan är användbara och konstruera enkla algoritmer med dessa,
för att man ska:
  • bli bra på att lösa problem med programmering,
  • kunna använda datalogiska metoder i tillämpningsprojekt och
  • få tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.

Faktiskt innehåll i kursen

Dokumentation av kursen finns tillgänglig på kursomgångens hemsida.

Genomförda förändringar till detta år

  • Extralabb i Python för CMEDT (som använt Matlab tidigare).
  • Diagnostiskt prov i Python/Matlab på första föreläsningen.
  • Lite mer om objektorientering i början av kursen.
  • Noggrannare genomgång av programexemplen på föreläsningar och övningar.

Enkäter och mötesprotokoll

  • En enkät gjordes med ACE. Det är 133 kursdeltagare som har svarat på enkäten.
  • Vi har haft ett kursnämndsmöte mitt under kursen.
  • CMEDT har också gjort en egen utvärdering.

Kursen får bra kritik, övningar och föreläsningar är uppskattade. Men det finns en hel del som skulle kunna förbättras. Nedan är kursiverade delar tagna direkt ur enkätsvar.

Om övningar och hemtal

Det uppstod viss diskussion om hur stor andel av övningstiden hemtalsgenomgången fick ta - många tyckte att det tog för lång tid.
Tråkigt att hemtalen tog upp en del tid men jättebra upplägg annars på övningarna, bra att man fick övning inför tentan också och inte bara inför labbar.
---
I början kändes det dumt att man spenderade så mkt tid åt att rätta hemtalen, men det var ju så man lärde sig.
---
Hemtalsdelen fungerade utmärkt, övningstalen däremot kändes ofta mycket svårare och hade behövt mer utrymme. Jag tror att det skulle vara en idé att ha en övning för hemtal och en för andra övningsuppgifter varje vecka.
---

Själv tror jag att arbetet med hemtalen bidrar starkt till det goda tentaresultatet och att det kan vara värt att använda en hel del övningstid till det.
Den administrativa delen av hemtalshanteringen kommer också att ta kortare tid när vi får rimligare storlek på övningsgrupperna.

Hemtalen har varit lite större i år, men i enkäten svarar 93% (något fler än förra året) att hemtalen var lagom omfattande. Svårighetsnivån är inte så hög - fokus ligger på färdigheter i att förstå, kunna beskriva och använda algoritmerna och datastrukturerna. Det skulle vara bra med några extra kluriga uppgifter för de som behöver en utmaning.
En nödvändig förbättring är också rättningsmallar till övningsassarna istället för bara lösningar.

Bra sätt att få oss att plugga utan att tänka på det. Man lärde sig mycket både genom att göra dem och genom att rätta varandras.
---
Tycker det var väldigt bra med hemtal eftersom det såg till att man låg i fas och även gav extra-poäng till tentan. Ibland kunde de vara ganska svåra men det var ingenting omöjligt och totalt sett så tycker jag att det var en bra svårighetsnivå
---
Rättningen av dem var otroligt flummig. Man kunde svara helt fel och ändå få rätt på frågan.
---

Examination

Kursen examineras med tentamen (betygsgivande, 3 hp) och laborationer (3 hp).

Många av kursdeltagarna hade tentakrock vid ordinarietillfället, så vi la in ett extra tentatillfällen. Tyvärr var vi tvungna att använda föreläsningssalar eftersom alla övningssalar var bokade.
Extratentan uppfattades som svårare men hade bättre snittresultat än den schemalagda tentan. Några klagar på tidsbrist. Tentaresultatet är bra.

Andra tentan va svårare än första. För mycket Abstrakta frågor där man inte vet vad du vill att man ska skriva. Skulle vara bäst ifall det var frågor som var rakt på sak och inte så himla invecklade och svåra att tyda. Det var även jobbigt att sitta i en föreläsningssal då man skrev tentan. Blev så himla trångt.
---
Ganska klurig med uppgifter jag inte stött på tidigare, varken på förelsningar, övningar eller extentor. Annars var den bra, även om det tog tid att svara på alla uppgifter.
---
Tentan var bra, men det var för ont om tid. Jag tycker den borde varit på 5 timmar istället för 4. Hann inte riktigt med att kontrollera mina svar och komplettera de vilket jag tycker är dåligt.
---

Labblydelserna är något förbättrade från förra året, men det är fortfarande många som anser att de senare labbarna är för svåra.

labb 5 och framåt var för svåra! har tagit för mycket tid i anspråk om man jämför med vad de har gett i högskolepoäng
---
väldigt svåra labbar , speciellt de sista. De sista labbarna var som att skriva en p-uppgift i inledande programmeringskursen. otroligt svåra jämfört med tentamen
---
Labbarna har varit svåra och ibland har också beskrivningar av labbarna varit väldigt svåra att förstå vad som ska göras. Det kändes som att man behövde mkt hjälp om man som jag inte är en programmeringsexpert. men annars bra labbar som passar bra med vad som kursen handlar om.
---
Jag tror inte att labbarna egentligen är för svåra eller tidskrävande, utan att problemet är att dom kräver mycket arbete i slutet av kursen, när det känns som om man är klar eftersom man klarat tentan.

Till nästa år provar jag att fördela om arbetet på labbarna för att minska arbetsbelastningen i slutet av kursen. Jag funderar också på att byta ut tentagenomgången på sista föreläsningen mot en labbgenomgång.

Kurslitteratur och webbsidan

Kursbok har varit "Problem Solving with Algorithms and Data Structures using Python" av Bradley N. Miller och David L.Ranum. Boken får blandad kritik, 20% tycker den har fungerat bra, 35% acceptabelt. 36% anger att dom inte använt någon bok utan nöjt sig med pythonkramaren, föreläsningsanteckningar och webbresurser. Det finns en hel del webbsidor om just algoritmer och datastrukturer - men kanske behövs lite värderingshjälp för att hitta de bättre sidorna.

Providing additional online resources was perfect, especially the Google Python course. In an other course I could not access the online documents of the course because they were protected by a mysterious authentication access and I had obviously not been registered properly. Here, accessing the lectures without authentication and in pdf (instead of ppt) was neat to Google Translate when necessary.
---
Övrig kommentar: Bra bok men föreläsningarna och föreläsningsanteckningarna var bra mycket bättre inför tentan!
---

Genus och likabehandling

Kursens genusperspektiv får många positiva kommentarer. Men ett par stycken känner sig särbehandlade i samband med labbarna:

Tjejer behandlas på ett snällare sätt av labb-assistenter och får mer förklarande hjälp tålamod jämfört med fula killar. Fula killar blir behandlade som om de är irriterande och att de är puckade att de inte fattar något. Snygga tjejer får hjälp med allt och ofta koden i stort sätt skriven åt sig. Samt en grundlig förklaring i hur de sak fortsätta jobba. Tjejer får hjälp längre och oftare.
---
Jag labbar ihop med en kille och det känns som om om labbassarna antar att han kan mer och "vänder" sig till honom istället till oss som grupp.
---
Dessa kommentarer måste vi ta upp på assistentintroduktionen för att förebygga oavsiktlig särbehandling. Studenterna måste också känna att dom kan säga till direkt om dom känner sig illa behandlade - jag tar upp det på första föreläsningen.

Planerade förändringar inför hösten 2011

Till nästa kursomgång:

  • En extra föreläsning, övning och labb om Python (fokus på klasser) för Medicinsk teknik.
  • Fler övnings- och labbgrupper (gärna på olika tider).
  • Maila alla som resterar med moment i programmeringsteknikkursen före kursstart (med länk till uppsamlingstider).
  • Ta med studentkommentarer till assistentmötet före kursen.
  • Individuell redovisning av lab1.
  • Justera labbarna så att det blir lättare att komma sig för med labb 6-7 (genom att fördela arbetet på övriga labbar).
  • Bättre hemtalslösningar och instruktioner till övningsassistenterna.
Slutkommentar ur enkäten:

En av de roligare kurserna jag gjort på KTH. Jag känner mig faktist lite smartare nu
























Linda Kann

Copyright © Sidansvarig: Linda Kann <lk@csc.kth.se>
Uppdaterad 2011-05-29