Nada

2D1310 PROGRAMMERINGSTEKNIK 99/00

Sammanställningen är gjord i oktober 2000 av Olle Bälter

Sammanfattning

Kursen är på fyra poäng och ges i årskurs 1 för I, L, M, T och V och i årskurs 2 för K och B. Poängen är uppdelad på inledande laborationer, LAB1, på 1 poäng, tenta, TEN2, på 1 poäng, och J-uppgift, LAB3, på 2 poäng.

Årets kursomgångar har fungerat bra trots bytet av programmeringsspråk (Pascal till Java). Stämningen bland studenterna är god. Studieresultaten är mycket goda på tenta (undantag på T) och inledande labbar, men redovisningsfrekvensen på J-uppgifterna på B, M, T och V är under 65 %.

Åtgärder inför detta läsår

I samtliga kursomgångar användes Java som programspråk för första gången (undantaget T). På B och I hade vi nya kursledare. På L användes PBL på hela årskursen, men mer studentstyrd än fjolårets kursomgång.

Färdiga kursanalyser

Det finns färdiga kursanalyser för alla kursomgångar.

Kursdata

PROGRAM  PERIOD  KURSLEDARE  DATOR  ANTAL STUD 
B 1-2 Anna Redz Unix på Nada 80 (74)
3-4  Erik Fransén Unix på Nada  105 (100) 
K + Media 2-3  Linda Kann  Unix på Nada  149 (101+30) 
3-4  Olle Bälter  Unix på Nada  85 (84) 
2-3  Staffan Romberger  PC på M  227 (211) 
3-4  Stefan Nilsson  Unix på Nada  132 (113) 
1-2  Linda Kann  PC på V  115 (106) 
Studentantal inom parentes avser studenter inskrivna 1999 (för K&B 1998). Uppgifterna är hämtade ur res.

 

 

Föreläsningar: 26 h + 6 h för dem som kört på tentan

Övningar: 16 h
Labbar: 26 h schemalagd tid
Dessa siffror gäller ej för L som har färre föreläsningar och inga övningar pga PBL.

Många studenter har arbetat med sina laborationer hemma och har då i allmänhet använt PC. Det har funnits möjlighet för dem att redovisa på PC.

Mål

Kursens huvudsakliga mål är att lära studenterna god programmeringsteknik ­ att strukturera och lösa problem och att skriva välstrukturerade program. Kursen ger även datorvana och kunskaper om hur en dator fungerar.

Examination

Tentamen: Tentan är av teorikaraktär och består av fem frågor med a- och b-uppgift. Varje fråga handlar om ett i förväg känt område, t.ex. parameteröverföring. Endera a-delen eller b-delen måste besvaras rätt på varje fråga (enstaka missade uppgifter kan få kompletteras). Avsikten är att studenterna ska behärska alla fem momenten. Tentan ger 1 poäng och betyget Godkänt/Underkänt samt 2 betygspoäng om man klarar tentan vid det första ordinarie tillfället.

Laboration 1: Laboration 1 består av sex laborationer som alla ska godkännas. Laborationerna görs i grupper om två studenter. De som redovisar inom fastställd tid får bonuspoäng. På L löses istället PBL-problem i sexpersonersgrupper.

J-uppgift: J-uppgiften är en större, individuell programmeringsuppgift. Den redovisas först med en specifikation, sedan med en prototyp då någon del av programmet ska fungera och till sist med en slutredovisning. Varje student ska dessutom granska en annan students uppgiftslösning. Svårare uppgifter ger mer betygspoäng.

Betyg: Betyget på kursen ges av summan av bonuspoäng för att ha redovisat laborationer, tenta, spec, prototyp och J-uppgift i tid samt J-uppgiftens betygspoäng.

Studieresultat

Andel studenter som klarat respektive moment i procent (i oktober 2000). Tentaresultaten är hämtade ur LADOK, labbresultaten ur res.
PROGRAM  TENTA  LAB 1  J-UPPGIFT 
B 89 85 61
91  94  84 
K + Media 86+79  95  81 
86  95  77 
82  88  60 
71  87  64 
82  94  61 

Resultaten på tentan och de inledande labbarna är tillfredsställande - på sina håll mycket högt. Det finns fortfarande en tendens att "spara" på J-uppgiften, särskilt på B, M, T och V.

Eftersom kursen går i årskurs 1 (utom på K och B) måste man räkna med att det finns en del studenter som hoppar av studierna på KTH under kursens gång.

Kursens stora problem

Det stora problemet på denna kurs är att alltför många studenter inte blir klara med sina J-uppgifter. De allra flesta hämtar ut sin J-uppgift och gör sin specifikation (på B, M och T var det dock bara  79%, 78 % respektive 80 % som var godkända på specifikationen i oktober 2000) men de lyckas inte fullfölja J-uppgiften. Vi gör stora ansträngningar genom att ha redovisning i flera steg (specifikation, prototyp, slutredovisning), schemalagda labbtillfällen med handledning, allmänhandledning som har öppet fem dagar i veckan och sist men inte minst tjat. Ändå har vi fyra kursomgångar där mindre än 65 % av studenterna blir klara med J-uppgiften under läsåret.

Flera faktorer kan bidra till resultatet:

  1. studenterna upplever uppgiften som svår
  2. studenterna har allmänna problem med hantering av och tillgång till datorer
  3. studenterna har inte fått tillräckliga kunskaper i tidigare delen av kursen
  4. studenterna har varit för ambitiösa i val av uppgift (valt för svår uppgift)
  5. uppgiften är den första större, självständiga uppgift studenterna möter på KTH
  6. studenter hoppar av studier på KTH
  7. studenterna har allmänna problem med sina studier och väljer att prioritera andra kurser
  8. det är lättare att spara på en labb-uppgift än på en tenta Det är av flera skäl olyckligt att studenterna sparar sina J-uppgifter. Det kan ge problem med studiemedel och uppflyttning till högre årskurs. Det är alltid mindre inspirerande och jobbigare att ta itu med en gammal kurs. Vi har också sett en tendens till fusk bland studenter som gör uppgiften i efterhand och flera fall har varit uppe och dömts i KTH:s disciplinnämnd.
Samtidigt är det tydligt av kursenkäterna att studenterna uppskattar J-uppgifterna - många anser att J-uppgiften är det bästa momentet.

Ur kursenkäten

De studenter som svarar på kursenkäten, vilket är merparten av dem som gjort I-uppgiften, är i stort nöjda med kursen. Exempel:
  1. På B anser 85 % att kursen är intressant och meningsfull (eller t o m mycket intressant och meningsfull)
  2. På L anser 97 % att de lärt sig mycket eller ganska mycket på I-uppgiften
  3. På I och T anser 100 % att labbhandledarna var bra/mycket bra.
  4. På B ansåg 90 % att föreläsningarna var pedagogiska eller mycket pedagogiska, på K och Media var motsvarande siffror 95%.

Arbetstid

I samband med redovisning av laborationerna frågar vi studenterna hur lång tid de lagt ned på laborationerna. Siffrorna matas in i ett program och vi kan beräkna summan av tiderna för alla laborationerna. Vi finner att siffrorna stödjer vår uppfattning att kursen inte ger en för hög arbetsbelastning. Labbar och I-uppgift är 3 poäng. På L är arbetsinsatsen nu nere i snitt 30 h per studiemedelspoäng.

Åtgärder inför nästa läsår

Javahäftet som delades ut på L kommer att utökas och förbättras och testas på fler kursomgångar.
De inledande labbarna kommer att anpassas mer till Java och bli mer lika en J-uppgift för att minska språnget i övergången.
Snabbrättning av specar med personlig återlämning och muntliga kommentarer (pss som T i år)  på samtliga linjer. Dessutom kommer försök att göras med mutliga specar i Extreme Programming tradition på utvalda studenter på V och B.
Bonussystemet ändras för att ge mer poäng till spec och prototyp (tas från introduktionslabben samt J-redovisningen).
Fler J-uppgifter börjar på 17 poäng (för att minska risken att studenter väljer för svår uppgift).