bild
Skolan för
elektroteknik
och datavetenskap

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

Kursdata

Tid: period 1,(2) dvs september-november 2006.
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: Magnus Rosell
Övningsassistenter: Jonas Sjöbergh, Per-Anders Staav och Magnus Rosell
Labbassistenter: Alla ovan, samt Irem Aktug och Leo Giertz
Antal elever: 152 registrerade, fördelade på 58 från MEDIA, 44 från I, 16 från CL, 14 från S, 7 från D, 6 från M, 3 från E, 1 från B, 1 från BIO, 1 från K, 1 från T.
Kurslitteratur var "Problem Solving with Algorithms and Data Structures Using Python" av Bradley N. Miller & David L. Ranum.

Sammanfattning

Kursen följde i stort tidigare kursomgångar med mycket gott resultat som följd. Den stora förändringen var att Python infördes som programmeringsspråk istället för Java. Det var mycket lyckat och uppskattat.

Under kursens gång genomfördes en mittkursutvärdering av de utvärderingsansvariga studenterna för respektive linje och kursledaren. Då var de flesta av kursens deltagare nöjda eller mycket nöjda med kursen. Något som stämmer väl överens med utvärderingen av hela kursen, som presenteras här.

Kursomgången led av att betydligt fler än vanligt följde den. I början fick vi inte plats i föreläsningssalarna.

Många upplevde tentan som svår. Anledningen var att den inte följde precis samma mönster som tidigare års tentor. Innehållet och svårighetsgraden var dock den samma...

Betygsfördelningen på tentan (och därmed hela kursen) säger en hel del. Det är framförallt studenterna från MEDIA som släpar efter: 5 st (9% av de registrerade MEDIA-studenterna) har bara blivit godkända på första labben och 17 st (29%) har inte tagit tentan. Det senare kan jämföras med bara 7% av studenterna från I.

Avklarade moment 2006-12-05

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

Antal registrerade            =   152      (123     )
Antal godkända elever LAB1    =   129 85%  ( 97, 79%)
Antal godkända elever TEN1*   =   108 71%  (111, 90%)
Antal examinerade elever      =   102 67%  ( 95, 77%)
Prestationsgrad               =       78%  (     84%)

* Det var 137 som skrev tentan. Av dessa klarade sig alltså 79%. Tjejerna klarade sig bättre än killarna. Här är betygsfördelningen på tentan (och därmed hela kursen). Media släpar efter med tentan.

Prestation på labbar

Antal godkända labbar  :  1  2  3  4  5  6    7
Antal studenter        : 12  1  3  0  2  5  129 

Den första labben blir man automatiskt godkänd på då man registrerar sig. Därför kan man alltså säga att x studenter har följt kursen, där 129 <= x <= 140, snarare än 152...

Mål

Efter genomförd kurs ska du 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. Hittills har 43 personer har svarat på enkäten. Av dessa tyckte 96% (41 st) att kursen var bra eller mycket bra. Nedan är kursiverade delar tagna direkt ur enkätsvar.

Här är två generella, mycket positiva, kommentarer:

  • Intressant och givande! Känns verkligen som att jag kommer att ha nytta av den i framtida kurser. Bra intresserade lärare som man märker att dom gillar det dom gör är verkligen jätteviktigt och gör allt mycket roligare och enklare! (vilket Magnus gjorde!)
  • Jag är imponerad över hur väl utformad kursen är. Äntligen har jag fått se hur perfekt en tenta och flera labbar behandlar i princip all information som ingår i kursen. Det har jag saknat i många andra kurser. Kursen känns välplanerad och uppbyggd på många års erfarenhet.

De mest samstämmiga förslag till förändringar som framförts kan sammanfattas så här:

  • Mer hjälp och mer labbtid.
  • Nivågruppering i undervisningen, så studenter med mindre förkunskaper hänger med och de med mer inte blir uttråkade.
Att en del upplevde mängden hjälp som knapp berodde nog till viss del på att antalet studenter var fler än tidigare år. Nästa kursomgång kommer att ha nivågruppering på övningsgrupperna.

Kurslitteratur

Kurslitteraturen bestod av informationen och föreläsningsanteckningar på kursens hemsida och en kursbok.

89% ansåg webbsidan utformning vara Bra eller Mycket bra.

  • Mycket bra och lättillgängligt material såsom föreläsningsanteckningar, övningar m.m. Mycket bra uppdaterad.
  • Har endast studerat utifrån materialet på sidan vilket fungerade bra.

Bara 37% har använt kursboken. De tyckte den var bra, men ansåg inte att de behövde den, då allt fanns i föreläsningsanteckningarna.

Kommentar: Kurshäftet Pythonkramaren är bara tänkt som en hjälp för att lära sig Python och berör inte det egentliga kursinnehållet.

Föreläsningar

91% tyckte föreläsningarna var Bra eller Mycket bra. En mycket stor andel (77%) var på 60% eller fler av föreläsningarna.

Magnus Rosell är en väldigt bra föreläsare och kollar dessutom hela tiden med studenterna om de förstår.

Att föreläsningsanteckningar delades ut och fanns på kurshemsidan uppskattades väldigt mycket. Vissa upplevde att tempot var lite lågt, men många tyckte å andra sidan att det var väldigt bra.

Övningar

69% tyckte övningarna var Bra eller Mycket bra. 67% var på 60% eller fler av övningarna. Många var bara där under hemtalsredovisningarna. Hemtalsredovisningarna tog lite för mycket tid av övningarna.

Det finns inte mycket att säga, välplanerade och nyttiga. Vissa tyckte tempot var för lågt, andra för högt. Nästa år ska vi ha övningsgrupper med olika nivåer.

Hemtal

77% tyckte hemtalen var Bra eller Mycket bra. Hemtal är ett bra sätt att stimulera till eget arbete under kursens gång.

Här lärde jag mig mycket, bra med obligatorisk rättning av någon annans hemtal. Kursledningen tycker i efterhand att vi lade för mycket tid på rättningen av hemtalen under de tidigare övningarna. Övriga övningsuppgifter är nog så viktiga för att ge god förståelse för kursen.

Några tyckte att uppgiftsformuleringarna var lite tvetydiga/svårtydda. Kursledningen håller inte med och anser att det i så fall bör leda till mer eftertanke vilket är poängen med hemtalen.

Laborationer

89% tycker att labbarna var Bra eller Mycket bra.

Kursledningen är nöjd med följande ganska representativa kommentar: Relevanta uppgifter som verkligen gav en djupare förståelse för de olika datastrukturerna och algoritmerna. Lagom omfattande, man drog sig inte för att göra dem utan såg ljuset i slutet av tunneln. Python var ett tacksamt språk att koda i då strukturen framstår väldigt tydligt.

Det är ganska vanligt med kommenterar om skillnader mellan labbassar, tex:

  • Ojämn hjälp nivå. Vissa ger mycket och bra hjälp andra säger bara att man ska försöka mer själv. Kursledningen kunde varit tydligare här. Studenterna väntas förstås ha läst in sig på området och försökt själva innan de ber om hjälp. Även om kursens huvudsyfte inte är programmering krävs kunskaper i detta för att klara kursen.
  • Stor skillnad på hur noggranna labbassarna var på att förhöra. Skillnader härör ofta från tiden som finns till förfogande. Har labbassen mer tid brukar hon/han diskutera mer. Kanske kunde man berätta om någon är godkänd tidigare?

En del tycker att det funnits för lite labbhjälp i form av tid och/eller assistenter. Kursledningen upplevde att studenterna inte utnyttjade labbpassen på rätt sätt. Dels var det inte så många närvarande under början av kursen och dels verkade man inte ha jobbat tillräckligt mycket mellan passen. Det bästa sättet att utnyttja labbpassen är (givetvis) att komma dit med de extra svåra problem man stöter på medan man jobbar själv...

Det var dessutom lite mindre labbtid per student än tidigare omgångar eftersom studenterna var fler.

Tentan

86% anser att tentans innehåll var tydligt kopplat till kursen. Kommentarerna var blandade. Här är tre som ringar in dem:
  • Mycket trevlig och bra tenta, den var rolig att skriva.
  • Svårare än tidigare tentor!
  • Relevant, men många blev nog besvikna på viss avsaknad och omformulering av standarduppgifter från ex-tentor...

Kursledningen instämmer med det sista citatet. Tentan var inte svårare än tidigare år, men såg lite lite annorlunda ut.

Ur kursledningens synvinkel gick tentan bra. 79% av de som skrev tentan blev godkända (några efter komplettering). Betygsfördelningen såg ut så här. Det är framförallt studenterna från MEDIA som släpar efter med tentan. Av dem har 29% av de registrerade inte tagit tentan, vilket kan jämföras med bara 7% av studenterna från I.

Genus

53% tycker kursens genusperspektiv är Bra, 2% att det är Dåligt och 37% Vet inte. En hel del kommentarer ifrågasatte frågeställningen, tex: Jag har läst en hel del genusteori på universitetsnivå och tycker i ärlighetens namn att det är lite larvigt att lägga ett genusperspektiv på en datakurs. Men visst är det synd att det är så få kvinnliga labassar!

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

  • Ny webbsida.
  • Hashlabben har byggts om.
  • Python har införts som programmeringsspråk.

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

Linda Kann kommer att hålla i kursen hösten 2007.
  • Övningsgrupper med olika tempon/svårighetsgrad.
  • Uppmaning att göra kursenkäten skrivs in i sista labben.

Magnus Rosell

Copyright © Sidansvarig: Magnus Rosell <rosell@csc.kth.se>
Uppdaterad 2006-12-28