Nada

2D1310 PROGRAMMERINGSTEKNIK 98/99

Sammanställningen är gjord i maj 2000 av Kerstin Frenckner

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. För B flyttas kursen från årskurs 1 till årskurs 2 och gavs därför inte alls läsåret 98/99. Poängen är uppdelad på tenta, TEN2, på 1 poäng, inledande laborationer, LAB1, på 1 poäng och I-uppgift, LAB3, på 2 poäng.

Årets kursomgångar har fungerat bra. Stämningen bland studenterna är god. Studieresultaten är mycket goda på tenta (undantag på M) och inledande labbar, men redovisningsfrekvensen på I-uppgifterna på L, M, T och V är under 75 %.

Åtgärder inför 98/99

I kursomgången för T användes Java som programspråk. Detta sågs som ett försök, som om det slog väl ut, skulle innebära en övergång till Java på samtliga kursomgångar. Eftersom kursen fungerat väl under föregående år gjordes endast små övriga förändringar utan vi koncentrerade förändringsarbetet på införandet av Java och diskussioner om hur kursen bör se ut med Java som bas. På M och T hade vi nya kursledare -- båda erfarna lärare.

På B genomfördes under läsåret 97/98 ett försök med problembaserad inlärning för en del av studenterna. Försöket slog väl ut och under 98/99 genomfördes hela kursen för L med problembaserad inlärning.

Färdiga kursanalyser

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

Kursdata

PROGRAM

PERIOD

KURSLEDARE

DATOR

ANTAL STUD RES

I

3-4

Mikael Goldmann

Unix på Nada

88 (78)

K

2-3

Linda Kann

Unix på Nada

111 (94)

L

1-2

Olle Bälter

Unix på Nada

83 (83)

M

2-3

Staffan Romberger

PC på M

235 (213)

T

1-2

Stefan Nilsson

Unix på Nada

139 (127)

V

1-2

Linda Kann

PC på V

126 (107)

Studentantal inom parentes avser studenter inskrivna 1998 (för K 1997). 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.

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 sex frågor med a- och b-uppgift. Varje fråga handlar om ett i förväg känt område, t.ex. pekare. Endera a-delen eller b-delen måste besvaras rätt på varje fråga (vissa avsteg har gjorts från denna princip). Avsikten är att studenterna ska behärska alla sex momenten. Tentan ger 1 poäng och betyget Godkänt/Underkänt.

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.

I-Uppgift: I-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. På T användes istället J-uppgifter som är I-uppgifter modifierade för Java.

Hemuppgifter: På alla kursomgångarna användes hemuppgifter, som gav viss betygspoäng. Syftet med hemuppgifterna är dock främst att inspirera studenterna att följa med i kursen.

Betyg: Betyget på kursen ges av summan av bonuspoäng för att ha redovisat laborationer i tid och I-uppgiftens betygspoäng.

Studieresultat

Andel studenter som klarat respektive moment i procent (för L och V i februari 99, för övriga i augusti 99). Uppgifterna är hämtade ur res.

PROGRAM

TENTA

LAB 1

I-UPPGIFT

I

97 (100)

95 (99)

91 (94)

K

88 (96)

93 (98)

83 (92)

L

90 (90)

98 (98)

73 (73)

M

68 (69)

90 (92)

63 (70)

T

81 (84)

90 (94)

68 (71)

V

83 (84)

95 (97)

71 (72)

Andel studenter som klarat respektive moment i procent i maj 2000. Uppgifterna är hämtade ur Ladok. Kolumnen Antal stud är antalet studenter som är förstagångsregistrerade på kursen den termin kursen startade.

Program Antal stud Hela kursen Labbar I-uppgift Tenta
I 86 90 95 90 96
K 102 89 95 90 93
L 84 73 99 76 92
M 225 65 91 69 82
T 131 65 89 69 81
V 119 71 97 73 86
Att värdena från Res och Ladok skiljer sig beror på att de är beräknade på något olika studenter och vid olika tidpunkter. Alla tentaresultat är inte säkert inlagda i Res.

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å I-uppgiften, särskilt på M och T. På L är resultaten sämre än föregående läsår. Intagningspoängen har sänkts och det finns en klar korrelation mellan intagningspoäng och resultat på kursen (se kursanalysen för L-kursen).

Eftersom kursen går i årskurs 1 (utom på K) 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 I-uppgifter. De allra flesta hämtar ut sin I-uppgift och gör sin specifikation (på M och T var det dock bara 80 % respektive 83 % som var godkända på specifikationen vid kursens slut). Men de lyckas inte fullfölja I-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 två kursomgångar där bara 69 % av studenterna blir klara med I-uppgiften under läsåret och ytterligare tre kursomgångar där cirka 75 % av studenterna blir klara.

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 I-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 att studenterna uppskattar I-uppgifterna.

    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:

    Liknande siffror finns på andra program.

    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.

    Åtgärder inför 99/00

    Försöket med Java slog väl ut. Java blir alltmer spritt och programmeringsmiljöerna blir mer stabila. Övriga högskolor övergår i stor utsträckning till Java. Att fortsätta med Pascal skulle innebära praktiska problem för dem som kör på PC. Vi har därför beslutat att övergå till Java som programspråk på alla kursomgångar. Utbildning av lärare och handledare har gjorts.

    För att förenkla administrationen av studenter som ej blir klara med I-uppgifterna i tid utser vi en person som har hand om sådana studenter från alla program och alla årgångar (som läst Pascal).