Kursanalys DD1312 hösten 2008 Författare: Vahid Mosavat Nedan följer en kursanalys av kursen programmeringsteknik och matlab för I1. Kursanalysen är framtaget av kursledarens anteckningar under kursens gång, möten med kursnämnden och kursutvärderingen i slutet av kursen. Kursdata Kurs: DD1312, Programmeringsteknik och Matlab Kursen genomförd: hösten 2008 Föreläsningar: 26 timmar Övningar: 14 timmar Labbar: 32 timmar Kurslitteratur: Föreläsningsmaterial, övningsmaterial, laborationsuppgifter och kursboken Starting out with Python Antal registrerade studenter: 133 Antal direkt avhoppade studenter: 4 Antal övningsgrupper: 4 Kursmoment: Lab1(2 Hp), Lab2(1.5 Hp), Lab3 (3 Hp), Mat1(1.5Hp) Klara med moment Lab1: 97% Klara med moment Lab2: 98% Klara med moment Lab3: 87% Klara med moment Mat1: 90% Prestationsgrad: 92% Examinationsgrad: 82% Kursansvarig: Vahid Mosavat Kursexaminator: Olle Bälter Övningslärare: Saddaf Shabbir, Per-Anders Legeryd, Gleb Zevkov och Vahid Mosavat Mål Övergripande mål: självständigt och i grupp ska kunna lösa problem genom att konstruera program på upp till femhundra rader i ett modernt programspråk, samt att kunna konstruera mindre program för beräkningar och visualisering i Matlab. Efter godkänd kurs ska du kunna: tillämpa och redogöra för regler för god programmeringsstil (såsom användarvänlighet, kommentarer, felhantering, strukturering, flexibilitet), upptäcka och korrigera programmeringsfel, modifiera givna program, överföra data mellan fil och program, identifiera behovet av och använda styrstrukturer (villkorssatser och slingor), dela upp ett större problem i hanterliga delar och konstruera funktioner för dessa, använda de datastrukturer som finns inbyggda i programspråket, samt välja datastrukturer som passar för det aktuella problemet, utveckla enkla grafiska användargränssnitt,
utvärdera ett färdigt program, hantera matriser och använda matrisoperationer i Matlab, Använda färdiga funktioner ur Matlabs bibliotek för beräkningar och visualisering, Skriva egna Matlabfunktioner för att ha möjlighet att: använda programmering för att lösa problem, tillämpa problemlösningsmetodiken även inom andra områden än programmering, diskutera programutveckling med experter, bedöma kommersiella program, utnyttja Matlab som hjälpmedel för numeriska beräkningar och visualisering i andra kurser Förändringar inför denna kursomgång Ordinarie kursledaren kom tillbaks från föräldraledigheten. Undervisning Föreläsningar Föreläsningsbilder har varit uppskattade men föreläsningarna behöver förbättras med bättre planering och mer förberedelse. Mindre tid på den grundläggande och mer på den mer avancerade saker. En översiktlig bild om vad som föreläsningen kommer att handla om och referens till bilden under hela föreläsningen hjälper att studenterna förstå bättre och avskilja olika moment. Referens om vilka kapitel i kursboken handlar föreläsningen om. Fler föreläsningar som ska handla om grafik behövs då det är många som är intresserade av betyget A. Övningar Olika grupper med olika nivåer, grupp indelning med eget arbete som ska presenteras i slutet av övningen för andra grupper har varit uppskattade. Det är bra att övningsmaterial publiceras på kursens webbsida så att studenterna har tillgång till materialet efter övningen. Laborationer Laborationsuppgifterna har varit bra och lärorika. Labbarna kanske kan bearbetas så att studenterna kan skriva något längre program för att få de mer likt p- uppgifterna. Laboration om grafik kanske kan införas. Att få hjälp under laborationstillfällen har ibland varit omöjliga då det har varit brist på handledare. Datorprovet En del har tyckt att datorprovet varit i rätt nivå och ungefär lika många tyckt att det har varit för lätt och därmed onödigt. P-uppgift: En uppgift fick väljas av begränsade antal personer, detta gjorde att en del studenter var tvungen att välja en uppgift som man inte har tyckt om eller kändes som en svår uppgift. Dock möjligheten att föreslå en egen uppgift till lärarna har
alltid funnits vilket gör att det inte finns någon orsak till att bli tvungen att välja en uppgift som man inte trivs med kvarstående uppgifter. Matlab: Matlab-delen har fått mycket kritik, anledningen till detta är att matte kursen Analys i en variabel, SF1644, började senare än det var tänkt. På grund av detta hade studenterna inte tillräckliga kunskaper om senare matlab-labben. Detta ska vi se till att inte upprepas genom att försöka samordna detta med kursledaren för SF1644, schemaläggarna och studievägledaren. Examination Momenten som ingår i examinationen är Lab1, Lab2, Lab3 och Mat1. Lab1 är 5 introducerande labbar som täcker första halvan av kursen, labbarna kan görs i grupp av två personer. Lab2 är ett datorprov som är i mitten av kursen, de som inte klarar av provet i första tillfället får göra om provet i senare tillfälle men under kursens gång. Lab3 är en större individuell programmeringsuppgift, specifikation och granskning av en annans uppgift som täcker nästan andra halvan av kursen. Specifikationen lämnas in och godkänns eller får komplettering, men uppgiften och granskningen ska redovisas personlig, betyg på kursen sätts av lösningens kvalitet. Momenten mat1 består av två laborationer i matlab och täcker två sista veckorna i kursen. Kurslitteratur Kurslitteraturen var boken Starting out with Python av Tony Gaddis, föreläsningsanteckningar, övningsmaterial och laborationsuppgifter. Kursboken har inte varit så bra. Föreläsningsanteckningar, övningsuppgifter och laborationsuppgifter anses vara bra. Elevenkät Persondata Kön? 32% (10 st) Kvinna 65% (20 st) Man 0% (0 st) Vill inte svara Kursens utformning Upplever du kursen som lätt eller svår? 6% (2 st) Lätt 68% (21 st) Medel 23% (7 st) Svår De övergripande målen är: att självständigt och i grupp kunna lösa problem
genom att konstruera program på upp till femhundra rader i ett modernt programspråk, samt att kunna konstruera mindre program för beräkningar och visualisering i Matlab. Fick du i början av kursen klart för dig att detta var kursens mål? 39% (12 st) Ja 52% (16 st) Tveksam 6% (2 st) Nej Tycker du att kursinnehållet stämmer överens med kursmålen? 68% (21 st) Ja 29% (9 st) Tveksam 0% (0 st) Nej Tycker du att kursen är intressant? 71% (22 st) Ja 23% (7 st) Neutral 3% (1 st) Nej Vad tycker du att du lärt dig under kursen? 45% (14 st) Hantera datorn (Unix, webben, filer) 90% (28 st) Programmera i Python 55% (17 st) Att gå från problem till program 74% (23 st) Själv hitta och använda nya funktioner i Python 48% (15 st) Använda Matlab Hur många timmar i veckan har du i snitt ägnat åt kursen (schemalagd och egen tid)? 35% (11 st) 0-5 55% (17 st) 6-10 6% (2 st) Mer än 10 timmar per vecka
Hur tycker du att det har gått att arbeta på egen hand? 26% (8 st) Mycket bra, behöver sällan eller aldrig hjälp. 35% (11 st) Bra, men behöver hjälp ibland. 26% (8 st) Så där, behöver hjälp ofta. 6% (2 st) Dåligt, kan sällan arbeta utan hjälp. 0% (0 st) Uselt, kan aldrig arbeta utan hjälp. Kursmaterial Vad tyckte du om informationen på kurshemsidan? 61% (19 st) Bra 29% (9 st) Neutral 6% (2 st) Dålig Hur tycker du att kursboken Starting out with python av Tony Gaddis har fungerat? 10% (3 st) Bra 10% (3 st) Acceptabelt 10% (3 st) Dåligt 45% (14 st) Har använt annan bok 23% (7 st) Har inte använt någon bok Övningsgrupp Vilken övningsgrupp har du följt i huvudsak? 35% (11 st) Saddaf 26% (8 st) Per-Anders Legeryd 29% (9 st) Gleb Zevkov 6% (2 st) Vahid Mosavat Hur har övningsassistenten fungerat? 74% (23 st) Bra 13% (4 st) Acceptabelt 0% (0 st) Dåligt 6% (2 st) Har inte deltagit
Vahid: Alla övningsgrupper har varit bra speciellt Glebb och Saddaf. Labbhandledning Hur har handledningen fungerat i labbsalen? 23% (7 st) Bra 39% (12 st) Acceptabelt 26% (8 st) Dåligt 6% (2 st) Har inte deltagit Vahid: Det har ofta varit långa väntetider för hjälp, detta på grund av få antal handledare. Föreläsningar Vad tyckte du om föreläsningarna? 13% (4 st) Bra 39% (12 st) Acceptabelt 42% (13 st) Dåligt 3% (1 st) Har inte deltagit Vahid: Jag ska planera bättre och förbereda mer för förbättring av föreläsningskvaliteten. Vad tyckte du om föreläsningsbilderna? 29% (9 st) Bra 48% (15 st) Acceptabla 16% (5 st) Dåliga 3% (1 st) Har inte tittat på dom Vahid: Föreläsningsbilderna ska felkorrigeras och uppdateras. P-uppgift Vad tyckte du om P-uppgiften? 71% (22 st) Bra 26% (8 st) Acceptabel 0% (0 st) Dålig 0% (0 st) Har inte gjort den än Hur tyckte du att labbarna förberedde dig på P-uppgiften? 48% (15 st) Bra
35% (11 st) Acceptabelt 13% (4 st) Dåligt Vahid: Labbrana ska göras mer omfattande. Hur tyckte du att skrivandet av specen hjälpte dig med P-uppgiften? 0% (0 st) Har inte skrivit någon spec 26% (8 st) Bra 42% (13 st) Acceptabelt 29% (9 st) Dåligt Hur ligger du till med P-uppgiften? 97% (30 st) Klar/nästan klar. 0% (0 st) Har börjat/är mitt i. 0% (0 st) Har ännu inte påbörjat uppgiften. Matlab-delen Hjälpte Matlab-delen dig att förstå mattekursen? 3% (1 st) Har inte gjort den än. 0% (0 st) Ja, absolut. 23% (7 st) Lite. 71% (22 st) Nej, inte alls. Hur svår tyckte du att Matlab-laboration 2 var? 3% (1 st) För lätt. 52% (16 st) Lagom. 42% (13 st) För svår. Vilka av följande moment har hjälpt dig att närma dig kursmålen? 29% (9 st) Föreläsningarna 71% (22 st) Övningarna 90% (28 st) Python-labbarna 13% (4 st) Datorprovet 81% (25 st) P-uppgiften 45% (14 st) Läsa Python-bok 19% (6 st) Matlab-labbarna
39% (12 st) Hemtalen 52% (16 st) Eget arbete Vahid: Jag anser att sista veckorna har varit mycket stressig för studenterna. Det kändes som att de har väldigt mycket annat att göra, dessutom matte kursen började senare än det var tänkt och därmed hade studenterna svårt att lösa den senare matlab-labben. Tyvärr mitt barn blev sjuk och jag var tvungen att vårda henne och jag själv kunde inte hålla den senare föreläsningen i matlab och en annan vikarierade för mig. Kursens belastning för eleverna Jag tycker att belastningen var för låg i början och för hög i slutet av kursen speciellt när matlab-delen började. 35% har arbetat upp till 5 timmar per vecka med kursen vilket anses för lite, 55% har arbetat mellan 6 till 10 timar per vecka vilket är den normala belastningen och 10% har arbetat mer än 10 timmar per vecka vilket är alldeles för mycket. Förkunskaper Inga speciella förkunskaper krävs förutom att för matlab-delen krävs att de har kunskaper om matriser och ekvationslösning, vilket de är tänkt att kursen Analys av en variabel ger dem denna kunskapen. Verkligt kursinnehåll I stort sett har vi hållit oss till följande: Unix, emacs Introduktion till Python: variabler, styrstrukturer Metoder, klasser, filhantering Grafik i Python Introduktion till matlab: Vektorer, Matriser, funktioner, styrstrukturer Planerade förändringar Vi ska inte införa några speciella förändringar i kursinnehållet och kvantiteten däremot ska jag jobba på med att förbättra kvalitet på hela kursen speciellt föreläsningarna, uppdatering av hemsidan och ska se till att information kommer ut till studenterna i god tid. Analys av nya betygssättningen Kursens slutbetyg bestäms över kvaliteten av P-uppgiften. Förr satte vi betygen U, 3,4 eller 5 beroende på gjorda extrauppgifter, nu har vi lagt till extrauppgifter för att kunna täcka över den nya betygssystemet A-F. Jag ser inte så märkvärdiga skillnader bara att vi har något lättare att sätta betyg på studenternas kunskap då vi har flera nivåer i kunskap. I princip uppgiften ger betyget D men om det finns smärre brister på lösningens kvalitet får man betyget E, annars extrauppgiften som ger ett C är för en lösning med felkontroll, betyget B är varierande men oftast är användning av egna datastrukturer eller en mer avancerad algoritm och
tillslut en lösning med grafisk användargränssnitt ger ett A. Man kan inte få ett A om man inte har gjort extra uppgiften för B osv. Sammanfattning Jag tycker att samarbete med matte kursen inte varit så bra, och har påverkat studenternas inställning till kursen negativt, vilket har tyvärr sammanfallit med tiden för utvärdering av kursen. Annars under kursen fick jag inte några speciella synpunkter verken från studentrepresentanterna eller enskilda studenter. Men jag ska försöka få feedback från studenterna efter varje undervisningstillfälle och försöka åtgärda eventuella brister innan det blir så sent. Trots detta har studenterna tyckt att kursen har varit rolig och detta gör att jag som kursledare ser fram emot att jobba vidare med kursen för att förbättra kvaliteten och göra den ännu roligare.