Kursanalys progk05

Programkonstruktion för F, 2D1339, 5 poäng

Kursanalysen avser i första hand programmeringsdelen om 4 poäng, prestations- och examinationsgrad redovisas också för introdelen.

Kursdata

Mål

Kursens mål är att ge eleverna för att de effektivt ska kunna kunna utnyttja datorer i sina fortsatta studier och i arbetslivet. Kursen ska även ge den bas eleverna behöver för att kunna läsa fortsatta kurser inom datalogi och numerisk analys.

Förändringar inför denna kursomgång

Ett nytt system för examination infördes. Det har varit problem de senast åren att alldeles för många studenter inte gör labbarna på den schemalagda tiden och inte blir klara under kursens gång. Dessutom har det varit alldeles för få betyg fyra på kursen. Det har varit för stort steg mellan trea och fyra. Det nya systemet bygger på att labbar och lappskrivningar ger poäng. Labbarna ger mer poäng om de är klara före vissa datum. Lappskrivningarna ger poäng efter prestation. Den sammanlagda poängen ger betyget tre eller fyra. För att höja betyget ytterligare får man göra en extra laboration med samma villkor som tidigare år. Det nya systemet har fungerat bra och vi har fått många fler fyror och många fler som är klara med kursen när undervisingen är slut. I mars var 70% av de registrerade klara med kursen (kan jämföras med 32% på progk04).

Sammanfattning

Tycker det känns som om kursen fungerat bra och att alla är nöjda med det nya upplägget med poängsamling och belöning för att hålla tiden.

Undervisningen

Undervisningen bedrevs på ett traditionellt sätt. Föreläsningarna användes för att ge den teoretiska basen, övningarna för att visa hur man praktiskt konstruerar program och laborationerna för att eleverna själva ska få erfarenhet av programmering.

Det centrala i den här kursen är laborationerna. Dessa har karaktären av små programmeringsprojekt som skall genomföras parallellt med att man lär sig teknikerna. Första projektet handlar om att beräkna och grafiskt visa hur ljusstrålarna från en ljuskälla bryts i ett antal linser. Andra projektet (nytt för i år) handlar om att simulera Brownsk rörelse. Tredje projektet handlar om simulering av hur personer förflyttar sig i en byggnad. Uppgifterna är konstruerade specellt för den här kursen och de två första har en medveten koppling till fysik.

Varje projektuppgift introducerar nya programmeringstekniker. I den första uppgiften måste eleverna sätta sig in i grundläggande programelement som variabler, villkor, slingor, metoder och vektorer. I den andra uppgiften används en uppdelning av programmet i olika moduler: en för den fysikaliska modellen, en för den grafiska presentationen och en för användarens manipulation av simuleringsparametrarna. I den tredje uppgiften används en hierarki av klasser. Objekt skapas för att representera olika aktörer i en realtidssimulering.

Examination

Kursen examineras för betygen 3 och 4 genom laborationer och lappskrivningar/muntliga förhör. Den som har betyg 4 kan få 5 genom att göra en fjärde programmeringsuppgift som redovisas både muntligt och skriftligt.

Elevsynpunkter

Det är svårt att få F-teknologerna att svara på en enkät om kursen. I år lades enkäten ut i mars. Jag har skickat påminnelser flera gånger men ändå har endast 22 personer besvarat enkäten den 7 juni. De som har svarat är huvudsakligen positiva till hela kursen och ger föreläsningar, labbhandledning och labbanvisningar bra betyg.

Det har varit mycket få elever på övningarna och man kan utläsa ur enkätsvaren att övningarna inte behövs för att klara labbarna! En student skriver att de som inte kan programmera innan kursen åker snålskjuts på dem som kan programmera.

Ett utvärderingsmöte (med lunch) med tre studeranderepresentanter hölls. De studerande hade själva valt tre representanter med olika förkunskaper och ambitionsnivå i kursen (3, 4 resp. 5). Representanterna var mycket positiva till kursens programmeringsdel. Hade en del kritik mot intro-delen som främst gällde attityden hos andra studenter som tyckte att introdelen var för lätt.

Kurslitteratur

Kursen har ingen officiell kurslitteratur. De flesta vill dock ha en bok och Java direkt med Swing är en bra och lämplig bok som får bra omdömen av studenterna. I kursprogrammet föreslås ytterligare några böcker.

Kursens belastning för eleverna

Enkätsvar (även om de är få), samtal med elever och tidigare års utvärderingar av samma kurs tyder på att belastningen är ungefär lagom stor. Av kommentarerna till enkätsvaren kan man se att det är oerhört stor spridning på hur svår och jobbig kursen upplevs även av dem som inte programmerat förut. En student påstår att varje labb tog max 4 timmar trots att han/hon var utan förkunskaper och tycker inte att kursen motiverar 5 poäng. En annan skriver att "KURSEN ÄR MYCKET SVÅR". Ytterligare någon som själv hade förkunskaper påstår att kompisar som inte kunde programmera innan ansåg detta vara en av de svåraste kurserna.

Förkunskaper

Kursen har sedan 2001 en introduktionsdel som ska ge dem som är rena nybörjare på datorer och programmering tillräcklig vana vid Nadas datorsystem för att klara programmeringskursen. Jag anser att denna fungerar hyfsat och att endast några få studenter nu har problem med kataloger, filer m.m. under programmeringen.

Många elever kan dock programmera mycket bra redan när de börjar på KTH. En del av dessa lär sig en hel del av våra laborationer men inte alla. Man kan fundera på om man borde göra ett snabbare "spår" genom kursen för dem som har mycket goda förkunskaper.

Planerade förändringar

Introduktionsdelen blir frivillig. Hoppas man kan övertyga dem som behöver att gå åtminstone början av intron.

Några justeringar av det poängsystem som infördes 05/06 samt en ny laboration 3.

Vad ska man göra med övningarna ?

Skall det vara större individuella moment eller mer formell redovisning för att undvika att några åker snålskjuts på dem som redan kan programmera ?

CDIO-anpassning ?