Kursanalys fovopad05

Objektorienterad programmering, analys och design med Java, 2D4135, 5 poäng

Kursdata

 

 

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