Nada

2D1358 OOPK period 4 99/00 för B,F,I,K,L,M,T,V
Kursanalys

Kursdata

Mål

De formella kursmålen är att för att studenterna ska kunna tillämpa objektorienterade metoder vid design och implementation av moderna programsystem.

I praktiken är dessa mål väldigt ambitiösa för en fyrapoängskurs och min förhoppning är därför att eleverna skall

Ett resultatet av detta är att UML får litet utrymme, och att fönsterbaserade utvecklingsmiljöer nästan inte tas upp alls.

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

Kursen har varit i stort sett oförändrad sedan förra omgången.

Sammanfattning

Studenterna är över lag intresserade och motiverade, och de flesta som svarat på enkäten är nöjda med kursinnehåll och undervisningen. Kursen uppfattas dock som mycket arbetskrävande.

Undervisningen

Föreläsningarna har till största delen varit baserade på stordia, och papperskopior av dessa har delats ut i början av föreläsningarna. Sådana föreläsningar riskerar att bli tråkiga, men gör det å andra sidan att eleverna slipper använda tiden för att anteckna och kan lyssna på föreläsningarna.

Övningarna har tilldragit en liten del av eleverna. De som deltagit säger sig dock vara nöjda. Ett alternativ är att helt ta bort övningarna och använda tiden till mer schemalagda handledningstid i labbsal.

De schemalagda laborationerna är centrala i kursen. Där sker dels all examination, dels ges individuell hjälp och handledning. Det är tänkt att ungefär hälften av studenterna kommer på ett labpass, dvs 50 st. Vi var 2-3 handledare per labpass, och detta visade sig vara otillräckligt. Det har kommit klagomål från teknologerna på långa väntetider att få hjälp.

Kursen belastades desutom av att det kom många teknologer från tidigare omgångar som ville redovisa laborationer, förmodligen förvärrades problemet av att kursen ligger i period 4. Efter läsperiodens slut var det fortfarande många som ville redovisa uppgifter, så fler extra labomgångar arrangerades fram till mitten av juni.

Jag försökte verkligen att få extra assistenter till laborationerna, men utan framgång. Extra assistenter bör vidtalas i god tid, kanske redan vid terminens början. Det är också synd att allmännhandledarna inte känner till C++, många enklare frågor, tex om kompliering och länkning, skulle ha kunnat tas hand om av dessa.

Examination

Examinationen består enbart av laborationsredovisningar. Laborationerna utförs i grupper om högst tre elever.

Examinationen har fungerat bra. De teknologer som redovisat har varit väl insatta i sin kod, och kunnat svara på alla frågor. De elever som redovisat har också i regel blivit godkända.

När flera labhandledare är inblandade, finns alltid risken att kraven för godkänd varierar något mellan de olika handledarna. Mitt intryck är ändå att det har fungerat bra med redovisningarna. Till ett annat år skulle man kunna försöka komma överens om någon sorts gemensam rättningsmall. Kursen har haft samma laborationer under några år (?), och det är nog dags att byta ut dem.

För högre betyg än tre måste studenterna göra extra laborationer. Dessa ska ta upp nya moment och öka studenterna förståelse av ämnet, och inte bara ge mer arbete av samma typ. Årets extrauppgifter tar upp mer avancerad design av klasshierarkier och gränssnitt, samt undantagshantering. Det har visat sig att de elever som gjort laboration 6 tycker denna var mycket lärorik.

Kurslitteratur

Kurslitteraturen borde täcka såväl grundläggande teori om objektorientering och programdesign som C++. Det behövs en komplett och tillförlitlig bok i C++ när man ska programmera i detta språk, annars kör man mycket lätt fast på enkla programmeringsfel.

Eleverna har rekommenderats att skaffa The C++ Programming Language eller C++ Primer; det har visat sig att C++ Primer är svår att använda som uppslagsbok, och eleverna är i större grad nöjda med The C++ Programming Language. Detta kan eventuellt bero på att de elever som haft lättast för kursen använt denna bok.

Vissa teknloger uppfattar The C++ Programming Language som ostrukturerad och svåratt hitta i. Det är viktigt att ha en bra och omfattande bok, vilket The C++ Programming Language är, men eleverna bör ha klart för sig att man inte behöver läsa boken från pärm till pärm innan man börjar programmera. Jag har också försökt ge hjälp genom att ge läsinstruktioner.

Vissa elever har använt andra C++ böcker än de rekommenderade. Så länge det har rört sig om moderna, någorlunda kompletta beskrivningar av C++, tex där standardbiblioteket finns med, har jag inte direkt sagt nej till detta.

Eftersom två kursböcker är väl mycket för en 4p-kurs rekommenderades boken "Design Patterns" till de som är extra intresserade.

Elevenkät

En elevenkät har besvarats av 11 elever. Här följer en sammanfattning av synpunkterna.

Kursens mål verkar vara klart och ingen direkt kritik har riktats mot innehållet i kursen. Eleverna tycker att deras förkunskaper är tillräckliga, vilket nog för de flesta är korrekt.

Den kritik som förekommer mot undervisningen är att föreläsningarna har varit tråkiga, och att laborationerna har haft för få handledare.

Övningarna har verkar ha fungerat bra för dem som deltagit, men deltaganded har varit ganska lågt. Bortsett från väntetiderna, verkar teknologerna nöjda med laborationshandledningen.

Av de kommentarer jag fått, personligen och via enkäten, verkar flertalet elever uppfatta kursen som mycket arbetskrävande. Den uppskattning av tiden som eleverna gjort för de tre obligatoriska laborationerna hamnar dock ungefär på den beräknade laborationstiden på 120 timmar.

Förkunskaper

Förutom brister när det gäller testning, avlusning etc. verkade förkunskaperna tillräckliga.

Verkligt kursinnehåll

Föreläsningsplanen hölls i stort sett. En gästföreläsare höll den sista föreläsningen, vilket var uppskattat. Laborationerna finns tillgängliga i PostScript.

^ Upp till Kursomgång period 4 99/00 för B,F,I,K,L,M,T,V.


Sidansvarig: <bjorns@nada.kth.se>
Senast ändrad 10 oktober 2000
Tekniskt stöd: <webmaster@nada.kth.se>