Kursanalys fovopad05
Objektorienterad programmering, analys och design med Java, 2D4135, 5 poäng
Kursdata
- Kursomgångsbeteckning: fovopad05
- Termin: VT2005, intensivundervisning i veckorna 14 och 19
- Lärare:
Kursledare och föreläsare: Ann Bengtson
Labhandledare: Ann Bengtson, Robert Zettinger
- Schemalagd tid:
Föreläsningar: 24 timmar
Laborationer: 32 timmar (med handledning) + 8 timmar
(med viss handledning)
- Antal registrerade elever: 18
- Kurslitteratur:
Xiaoping Jia: Object-Oriented Software Development Using Java
ISBN: 0-321-21073-5
eller
Jan Skansholm: Java direkt med Swing ISBN: 91-44-02228-X
Skansholms bok täcker inte kursen utan måste kompletteras med
annat material (t.ex. från Internet) om designmönster.
Liten komplettering behövs även till Jias bok.
Laborationsanvisningar uppdelat på två Labkurser
- Examination:
Kursen examineras genom en tentamen och två laborationsmoment.
LAB1, 1p : Programmeringsuppgifter i Java.
LAB2, 2p : Programmeringsuppgifter på designmönster m.m. i Java
TEN1, 2p : Tentamen.
- Resultat:
18 elever registrerades på kursen. Två av dessa hörde av sig och
meddelade att de tänkte läsa kursen på distans men redovisade aldrig något.
Övriga 16 deltog i undervisningen och/eller redovisade labmoment eller tenterade.
Liksom förra året var det flera elever som deltog i all undervisning men inte
redovisade några labbar eller tenterade.
LAB1 : 11 st
LAB2 : 10 st
TEN1 : 10 st
- Prestationsgrad: (11*1+10*2+10*2)/(16*5) = 64%
(räknat på de 16 studenter som deltog i någon mån i kursen).
- Examinationsgrad: 10 studenter har klarat hela kursen,
10/16 = 63%.
Mål
Kursens mål är att
- ge kännedom om principerna och begreppen inom
objektorienterad analys, design och programmering
- ge kännedom om metoder för att utveckla objektorienterade program
- ge ökad färdighet i objektorienterad programmering
Kursen gavs för andra gången
Kursen gavs för första gången och var alltså ny läsåret 2003/2004.
Kursen är tänkt att läsas efter de två fov-kurserna Datalogi I 10p
(grundkurs med Java och Haskell) och Datalogi II 5p (algoritmer och
datastrukturer). Ingen av årets studenter hade exakt dessa förkunskaper.
Sammanfattning
Väldigt rolig kurs att hålla, kursen var uppskattad av studenterna.
De som svarat på elevenkäten (7 st) är övervägande mycket positiva.
De flesta av årets studenter hade mycket goda förkunskaper och hängde med bra
på det mesta. Laborationerna, särskilt del 2 är kanske lite för små.
Undervisningen
Kursens undervisning låg i två intensiva veckor, vecka 14 (början av april)
och 19 (maj) under vårterminen. Var och en av dessa veckor gavs
måndag - torsdag salsundervisning 3 timmar på fm och laboration i
datorsal 4 timmar på em. Fredag var lektionsfri med laboration
4 timmar på fm men inte
garanterad handledning. Jag har bevakat SimaManager från mitt arbetsrum
och ställt upp ändå vid behov.
Från början fanns en avsikt att (som på grundkursen) presentera nytt
stoff mån-ons och ha repetition och exempel på torsdagen. Detta fungerade
inte, det var för mycket stoff och det blev nödvändigt med vanliga lektioner
även på torsdagen, endast sista timmen ägnades åt repetition.
Några studenter valde att göra laborationerna på egen hand och på
egen dator men de flesta deltog i de schemalagda laborationerna.
Vissa har gjort båda delarna.
Examination
Laborationerna examineras vid dator här på KTH, små kompletteringar har
studenterna fått göra på distans via epost.
Tentan har en teoridel om 20 poäng och en problemdel om ca 30 poäng.
På teoridelen är inga hjälpmedel tillåtna och på problemdelen får man
ha alla skriftliga hjälpmedel. För godkänt krävs ca 25 poäng varav
minst 10 från tentans problemdel. Godkända laborationer före tentan
kan ge 1-4 bonuspoäng som adderas till tentapoängen (mycket effektivt
för att få studenterna att redovisa labbar före tentan).
Betygen 3, 4 eller 5 sätts på labkursen och tentan var för sig.
Betyget på labkursen ges av hur många extrauppgifter man gjort.
Kursens slutbetyg (3, 4 eller 5) sätts som medelvärdet av tentabetyg
och labkursbetyg med avrundning uppåt.
Kurslitteratur
Litteraturen specificeras under kursdata ovan.
Jias bok fungerar ganska bra, den täcker kursen väl, har bra genomgångar
både av Java och av designkriterier och designmönster men innehåller tyvärr
ganska många fel, felen är dock små. Registret är mycket dåligt,
innehåller för få uppslagsord, det man vill slå upp finns ofta inte.
Exemplen är bra, det finns både små exempel och lite större
tillämpningar.
Skansholms bok är mycket bra som programmeringslärobok men innehåller
ingenting om designmönster. Det är dock ganska lätt att hitta
websidor om designmönster, det finns t.o.m. hela böcker tillgängliga
gratis på Internet.
Elevsynpunkter
Enkäten besvarades av sju studenter. Enkätsvaren bifogas.
De som svarat på enkäten är positiva, alla tycker att undervisningen
var bra eller mycket bra, att kursen var intressant. Det finns många
positiva kommentarer.
Kursens belastning för eleverna
Tror att belastningen är lagom. Årets deltagare hade mycket goda förkunskaper
vilket gjorde att labbarna inte var så jobbiga. Ett par av studenterna som
genomförde kursen hade det lite svårare och jobbade mer än nominellt med
labbarna (en av dessa var gravt synskadad, det bidrog i någon mån till
att han måste arbeta mer). Enkätsvaren visar att eleverna tyckte att
kursen var lagom jobbig eller krävde lite mer jobb än 5p motsvarar.
Förkunskaper
Alla hade tillräckliga förkunskaper, även om alla inte läst exakt de kurser
vi kräver som förkunskaper. Någon var ordentligt överkvalificerad.
Övrigt - Verkligt kursinnehåll
Skulle vilja ändra på kursens namn. Namnet kom till långt innan kursen
planerades. Det är i första hand en kurs i objektorienterad programmering
där principer för god design hela tiden beaktas. Det är också
en fortsättningskurs i Java, både för dem som läst en grundkurs i Java
eller kan mer än grunder i något annat språk.
Kriterier och principer för god design samt designmönster är mycket
viktigt i kursen men hela tiden exemplifierat i program.
Objektorienterad analys förekommer inte så mycket, annat än att det
definieras. Helst skulle ordet analys strykas ur kursens namn för att inte
ge studenter fel förväntningar.
Få studenter
Det var tyvärr färre som sökte till kursen i år än förra året, endast 15
personer hade sökt i tid. Genom efterantagning tillkom 7 st. Några hoppade
av och 18 registrerades.
Planerade förändringar
- Utökning av labbarna i labdel 2, eventuellt samtidigt minskning
av del 1 för att den totala arbetsbelastningen inte skall bli för stor.
- Börja ev. med designmönster redan i första kursveckan.