bild
Skolan för
elektroteknik
och datavetenskap

Kursanalys för 2D1320 Tillämpad datalogi, hösten 2007

Kursdata

Tid: period 1,(2) dvs september-november 2007.
Poängantal: 4 (varav labb 2 poäng, tenta 2 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: Mika Cohen, Linda Kann och Öjvind Johansson
Labbassistenter: Alla ovan, samt Gleb Zevkov, Clyde Robson och Åsa Hansson.
Antal elever: 154 anmälde sig, och 148 följde kursen, fördelade på 57 från MEDIA,
45 från I,
19 från CL,
6 från S,
7 från D,
2 från M,
2 från E,
1 från B,
2 från K,
2 från F,
1 från P,
3 från T,
1 extern
Kurslitteratur var "Problem Solving with Algorithms and Data Structures Using Python" av Bradley N. Miller & David L. Ranum.

Sammanfattning

Studenternas resultat är bra (nästan identiska med tidigare kursomgångar). De flesta är nöjda med kursen.

Schemat var knepigt - tid och plats för föreläsningar och övningar varierade från vecka till vecka. Ett par gånger hade en övningsgrupp över hundra deltagare (eftersom den passade bäst i schemat för alla). Vissa på I-programmet hade många schemakrockar.

Avklarade moment 2007-12-05

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

Antal registrerade            =   154      (152     )
Antal godkända elever LAB1    =   138 90%  (136, 90%)
Antal godkända elever TEN1    =   133 86%  (135, 89%)
Antal examinerade elever      =   133 86%  (133, 86%)
Prestationsgrad               =       88%  (     88%)

Studieresultaten skiljer sig inte nämnvärt åt mellan kvinnor och män, men männen hade något fler höga betyg på ordinarietentan.

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 du 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.

Enkät

En enkät gjordes med ACE. Det är 63 kursdeltagare som har svarat på enkäten: 24 från Media, 18 från I, 12 från CL och 9 från andra program. Studienämnden på I har dessutom gjort en egen utvärdering. Nedan är kursiverade delar tagna direkt ur enkätsvar.

Här är två av dom positiva kommentarerna:

  • Det har varit en rolig kurs där man sett fram emot föreläsningar och labbar. Tack så mycket och lycka till nästa år!
  • En intressant och givande kurs.

Det vanligaste förslaget till förbättring är:

  • Mer handledningstid till labbarna. En student svarar på frågan "Nämn två önskvärda förändringar för att förbättra kursen" med

    1. Mer handledda labbtillfällen
    2. Ännumer handledda labbtillfällen

Mer handledningstid är svårt att trolla fram av ekonomiska skäl, men en FAQ med tips till de vanligaste labbproblemen skulle kunna hjälpa.

Många kommentarer visar på nivåskillnader hos studenterna.
När det gäller labbarna:

  • Lättare labbar och bättre instruktioner om själva labben.
  • Om antalet föreläsningar behålls tycker jag att man ska ta chansen att lära ut mer och ha svårare labbar; kursen var jätterolig och intressant men också ganska lätt om man programmerat lite innan.
Och föreläsningarna:
  • Bra praktiska exempel men svårt att hänga med ibland.
  • Linda illustrar och förklara bra men det går aningen för långsamt:)
Man vill ju gärna ta hand om både dom som tycker att kursen är svår, och ge dom duktiga lite extra utmaningar. Extrauppgifter på labbarna till exempel.

Webbsidan

Nästan alla tycker att webbsidan är bra.

Föreläsningsanteckningarna var extensiva och utförliga vilket underlättade inlärning. Lätt att hitta information om kurskriterier, labbarna och inlämningsuppgifter, bonuspoäng osv. Jättebra!

Hade varit bra med direkta länkar till föreläsningmaterialen.

Många önskade att föreläsningsanteckningarna skulle finnas åtkomliga direkt från webbsidan. Det önskemålet kan vi tillgodose i år!

Kurslitteratur

Kursbok har varit "Problem Solving with Algorithms and Data Structures using Python" av Bradley N. Miller och David L.Ranum. 43% säger sig ha använt kursboken vilket är för få. En kommentar är: Den är ju inte nödvändig och väldigt dyr.

Här behövs bättre anknytning och mer detaljerade läsanvisningar på föreläsningarna. Kårbokhandeln har också sänkt priset på boken i år.

Föreläsningar

Majoriteten (87%) tyckte att föreläsningarna var bra. De 11% som inte deltagit klarar sig bra ändå, av kommentarerna att döma.

Linda är en av de bästa föreläsarna jag haft på KTH. Pedagogisk och genuint intresserad av ämnet. Ibland tog det lite väl lång tid att förklara saker men så blir det ju om verkligen alla ska förstå. Utmärkt.

Gick väldigt långsamt så kändes mer effektivt att läsa f-anteckningar.

Övningar

De som deltagit på övningarna tycker att dom är bra, men 43% har inte deltagit på annat än hemtalsredovisningarna.

Har inte kännt att jag haft ett behov att deltaga i övningarna.
Jag valde att inte delta på alla övningar eftersom jag kände att föreläsningarna, hemtalen och labbarna gav mig tillräckligt med kunskap. Däremot var de jag var på bra.
Bra för oss som hade vårt stora problem med programmeringen med själva problemlösningen var det enklare.

Hemtal

93% tyckte hemtalen var bra. Här finns det möjlighet att få med mer teoretiska delar av kursen som inte finns med på labbarna.

Bra att kontinuerligt få prova på och diskutera materialet. Lagom många.
Bra upplägg med hemtalen. De hade dock kunnat vara lite svårare eller "större" ibland. KMP-automaten tog till exempel inte många minuter att göra.
Några va jobbiga.

Laborationer

91% tycker att labbarna var bra. Men många kommenterar bristen på handledare, och ibland fungerade inte personkemin.

Under vissa perioder var det väldigt hög belastning på labbarna vilket gjorde att man fick hjälp en gång under ett tvåtimmarspass. Det kändes väldigt jobbigt när man hade en specifik kodningsfråga och fastnade på den i 1,5timme och så löstes problemet på 1min så fort man fick hjälp.
Vissa kunde få en att känna sig dum.
Vill ge Gleb tummen upp för hans motiverande påverkan. Man såg tydligt att han brann för programmering och att han gladeligen hjälpte till, oavsett labbtillfälle eller inte.

Vi har inte råd att öka handledningstiden, men följande åtgärder skulle kunna förbättra situationen:

  • En FAQ till labbarna, så att man kan hjälpa sig själv (det är även en signal att man ska försöka själv istället för att sitta passiv medan man väntar på hjälp).
  • Man ber handledarna att inte ägna för lång tid åt varje student när belastningen är hög (t ex hänvisa till rätt avsnitt i boken och till FAQ:n)
  • Be handledarna att vara lyhörda så att studenterna inte tar illa vid sig.

Tentan

100% anser att tentans innehåll var tydligt kopplat till kursen. Kommentarerna var blandade:
  • Intressanta uppgifter, som krävde tankekraft, rolig och utmanande att skriva:)
  • En läskig tenta att skriva
  • Ganska lätt tenta. Ett tal (det med japanska tecken och en kö/stack) kändes dock inte så kopplat till kursen utan var mer en logisk övning.

86% av kursdeltagarna blev godkända på ordinarietentan (några efter komplettering). Betygsstatistik finns på tentaåterlämningsföreläsningen .

Genus

51% tycker kursens genusperspektiv är Bra,
1% att det är Dåligt och
48% Vet inte.

Kommentarerna handlar mest om frågeställningen: Jag förstår inte frågan alls. Mig veterligen har datalogi inget med genusfrågor att göra.

Här är det nog en förändring av kursenkätens frågor som behövs. Det vore för övrigt intressant med fler frågor om studentens beteende och inställning.

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

  • Snabb uppföljning av studenter som halkar efter på laborationerna.
  • Övningsgrupper med olika tempo.

Jag kontaktade alla som inte redovisade vid första redovisningstillfället, för att försöka puffa på. Den insatsen hade ingen större effekt på resultaten (nån hade bytt utbildning, några hade redovisat labbarna under en tidigare kursomgång osv).

Vi hade en snabb, en normal och en lite långsammare övningsgrupp. Den snabba gruppen fungerade bra, men skillnaden mellan den normala och långsamma jämnades ut eftersom övningsledarna nödgades byta grupp titt som tätt av schemaskäl.

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

  • Bättre schema.
  • Fler kopplingar till kursboken.
  • Läsanvisningar på föreläsningarna.
  • Fler exempel till föreläsningarna.
  • Länkar till föreläsningsanteckningar på webbsidan.
  • FAQ till labbarna.
  • Ny modell för kursenkäten.

Linda Kann

Copyright © Sidansvarig: Linda Kann <lk@csc.kth.se>
Uppdaterad 2008-08-25