Kursanalys progk06

Programkonstruktion för F, 2D1342, 4 poäng

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.

Nyheten förra året

Förra året (progk05) införedes ett nytt system för examinationen. Systemet fungerade överlag bra och gav den önskade effekten: Fler klara med kursen vid kursens slut samt fler med studenter med betyg 4.

Det nya examinationssystemet bygger på att de tre labbarna och de två lappskrivningarna ger poäng. Labb klar senast ett visst datum ger lite extra poäng. Till en av de tre labbarna finns extrauppgifter. Eleverna samlar poäng och 11p ger betyg 3, 14p ger betyg 4. Poängen gäller endast inom ett läsår, för att bli godkänd måste man inom läsåret få ihop 11 poäng. När man fått ett godkänt betyg kan man göra en fjärde labbuppgift som är lite större och ger betygshöjning ett steg. Betygshöjningen får man göra ett senare läsår.

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

Till årets kursomgång ändrades lab2 lite grann (den var ny till progk05) så att en av extrauppgifterna där fick bli del av grunduppgiften. Extrauppgift 1 formulerades om och en ny extrauppgift 2 lades till. En ny laboration 3 konstruerades (mycket jobb!). enligt förslag i förra årets kursanalys. Laborationen innehåller delvis samma moment som den tidigare lab3 och delvis helt andra moment. Årets kursdeltagare fick välja på den nya och den gamla.

Sammanfattning

Tycker det känns som om kursen fungerat bra och att de flesta är nöjda med det nya upplägget med poängsamling och belöning för att hålla tiden. Något fler elever än tidigare tycker att kursen är väldigt svår. Det är fler som har gått på övningarna än tidigare år (hänger nog ihop med att fler tycker kursen är svår).

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 handlar om att simulera Brownsk rörelse. Tredje projektet (nytt för i år) handlar om att läsa en fil med person- och betygsdata samt skriva ut betygslistor. Filen ser ut exakt som en riktig res-fil och betygen som räknas är betyg på progk06 för 80 fiktiva personer (sagofigurer). Som alternativt tredje projekt kunde man i år välja att göra det gamla som använts i många år: simulering av hur personer förflyttar sig i en byggnad. Alla 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 (båda varianterna) används en hierarki av klasser. I den nya uppgiften Betygslistor ingår att läsa en textfil med ett okänt antal personuppgifter av varierande längd.

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. Uppgiften kan också höja betyget från 3 till 4. Examinationen sker under kursens gång samt under två kompletteringsperioder, en i maj och en i augusti strax innan kursen poäng slutar gälla. Enstaka redovisningar görs för kursledaren på andra tider.

Elevsynpunkter

Det är svårt att få F-teknologerna att svara på en enkät om kursen. I år lades enkäten ut redan 2 mars. Jag har skickat påminnelser flera gånger men ändå hade endast 20 personer besvarat enkäten den 8 juni. De som har svarat är huvudsakligen positiva till hela kursen och ger föreläsningar, labbhandledning och labbanvisningar bra betyg även om föreläsningarna får lite sämre betyg än tidigare (50% tycker att de är mycket bra eller bra, 40% svarar acceptabla, 10% har inte varit med alls på föreläsningar). Labbanvisningarna får också lite sämre betyg vilket kan bero på att anvisingen för den nya lab3 är helt ny och kan förbättras. Har dock fått många positiva kommentarer om både lab2 och lab3 från elever. Flera av dem som tycker kursen är svår har sagt att de lärt sig mycket på den nya lab3.

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) samt förberett sig väl genom att prata med många studenter. Utvärderingsgruppen hade också synpunkter på kursen datorintroduktion.

Ett önskemål som kommer både genom kommentarer i enkäten och från utvärderingsgruppen är att det ska finnas enklare labbuppgifter i början av kursen. Många tycker att den första labben är för svår.

En kommentar i enkäten som ges av flera personer är att föreläsningarna har för lite med labbarna att göra. Det är en förvånande kommentar då jag tycker att jag successivt anpassat föreläsningarna mer och mer till labbinnehållet.

Det är svårt att dra slutsatser av enkäsvaren när de är så få. Det finns många olika åsikter.

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 med en liten dragning åt för stor. Av de 20 enkätsvaren säger 15 att den är lagom men fem st att kursen tar längre tid än den borde.

Förkunskaper

Förkunskaperna varierar som vanligt oerhört mycket. En del kan redan allt som kursen vill lära ut medan andra inte kan någonting. Under läsåren 01/02 - 05/06 hade kursen en introdel. Från i år är introdelen frivillig. Nästan alla F06-teknologer valde att börja på introkursen men en del hoppade av. Efter samtal med studenter har jag fått den uppfattningen att de som inte gjort klart intron är just de studenter som verkligen behöver den. De har slutat för att den var för svår. Skulle man kunna ha en variant av introkurs som fokuserar mer på de studenter som har liten datorvana och ger dem det de behöver för programmeringskursen ?

Planerade förändringar

Kursens första labb har varit med mycket länge. Anledning till det är att den är så fantastiskt bra, åtminstone tycker alla lärare det. Fler och fler elever tycker att den är svår som första labb. Har nu allvarliga funderingar på att införa några nya lättare uppgifter att börja med, antingen före första labben eller i stället för den.

Anpassning till det nya betygssystemet behövs också. I samband med det tänker jag ändra poängsystemet så att det är fler poäng totalt samt minska den relativa betydelsen av tidsbonusen (extra poäng för att bli klar med labbar i tid) något. Den nya labben Betygslistor mottogs väl men labbanvisningen behöver bearbetas en del för att bli riktigt bra.

Trots att en hel del elever tycker att det är bra att inte ha en officiell kursbok funderar jag på att återgå till det. Tror att det kan kännas tryggare för dem som tycker det är svårt att man har en bok som man håller sig till, där det finns uppgifter att arbeta med.