Nada - numerisk analys & datalogi 

Kursanalys för Datalogi, grundkurs 1, för Stockholms Universitet våren 2000

Kursdata

Tid för kursens genomförande

Vårterminen 2000, hela terminen

Kursledare

Carina Edlund

Handledare

Magnus Bjuvensjö, Alex Hole, Maria Karimian, Tomas Eriksson, Jolanta Jensen, Fredrik Sjöholm, Erik Simonsson och Silakhdar Krikeb

Undervisningstid

Föreläsning: 62 tim
Övning: 56 tim
Laborationshandledning: 64 tim

Antal registrerade elever:

26

Kurslitteratur:

Abelson, Sussman: "Structure and Interpretation of Computer Programs" (MIT 1985)
Dahl, Lindqvist: "Pascal, helt enkelt" (Studentlitteratur 1994)
Lunell: "Datalogi - begreppen och tekniken" (Studentlitteratur 1994)
Watt: "Programming Language Concepts and Paradigms" (Prentice Hall 1990)

För bredvidläsning rekommenderades dessutom:

Kruse: "Programming with Data Structures" (Prentice Hall 1989)

Kursmoment:

Tentamen: 2 poäng
Muntlig examination: 2 poäng
Laborationer: 6 poäng

Genomströmning:

Helt klara med kursen: 10 st
Klara med tentan: 13 st
Klara med muntlig del: 12 st
Klara med alla labbar: 11 st

Kursens mål:

Eleverna skall kunna hantera en dator (logga in, logga ut, editera texter, söka information på internet, sända och ta emot elektronisk post, använda interpretatorer och kompilatorer samt avlusare) och förstå, i stort, hur en dator fungerar. De skall kunna genomföra programmeringsuppgifter från problemspecifikation, via pseudokod till färdigt program. De skall förstå grundläggande begrepp som rekursion, iteration, listhantering. För varje nytt begrepp finns programmeringsuppgifter i kommande laboration. Eleverna får grundläggande kunskap om algoritmer för olika ändamål, för filhantering m.m. De får lära sig modularisering av program (i Pascal). I den sista delen av kursen får de dessutom kunskap om konsekvenserna av sina val avseende data- och programstrukturer samt en jämförelse mellan datorspråk (Scheme, ML, Pascal, ADA, m.fl.) samt utför laborationer i Scheme och Pascal där man utforskar skillnaderna mellan språken.

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

Upplägget från hösten användes och utifrån det har vissa förändringar gjorts som t.ex.:
* mer av föreläsningstiden ägnades åt pekare, poster och listor.
* föreläsningsanteckningarna har rättats och till viss del omstrukturerats.
* schemat för lektionsuppgifterna har förändrats för att bättre passa med föreläsningar och laborationer.
* lektionsuppgifter har korrigerats och förbättrats.
* laborationsuppgifterna har förtydligats.

Sammanfattning

Mitt intryck under kursens gång var att allt gick bra. Jag har imponerats av elevernas nyfikenhet och energi till att vilja veta mer om programmering, olika tekniker och hur datorer fungerar. Detta har framförallt märkts när de har gjort sina laborationer där de prioriterat förståelsen framför att bli klara innan en viss tidpunkt. Dialogen mellan mig som föreläsare/lärare och eleverna har jag ansett som mycket viktig. Vi har då diskuterat olika problem och det har enligt mig fungerat mycket bra samt att det har varit mycket givande. Även enkäten indikerar att eleverna tycker så. Se även sammanställningen av enkätsvaren nedan.

Undervisningen

har bedrivits genom föreläsningar, där begrepp har förklarats och programexempel gåtts igenom och förklarats noga. Samma saker har sedan förekommit på övning och till sist ingått som moment på laborationerna. Det har fungerat bra.

Föreläsningarna har fungerat bra och flutit i ett jämnt tempo, eftersom relativt mycket tid ägnades åt pekare, poster och listor (de flesta upplever detta som svårt).

Under övningarnas första timme löstes gemensamt uppgifter och under den andra timmen redovisade eleverna sina hemuppgifter. Att eleverna har haft hemläxa till varje övningstillfälle har de flesta upplevt som positivt och krävande. Mycket av övningstiden har ägnats åt elevernas frågor och redovisningar, detta har av en del upplevts som slöseri med tid men av merparten har detta varit mycket uppskattat.

Laborationerna är 11 stycken och de blir succesivt mer komplexa samt kräver mer självständigt tänkande. Redovisning sker varje en till två vecka/or. Genom att ha ett senastdatum med bonuspoäng för varje laboration har redovisningen stimulerats. Bonuspoängen har uppskattats men eleverna har prioriterat att förstå laborationerna framför att klara av dem i tid. Laborationsmomenten upplevs som krävande och givande.

Examination

* Tentamen omfattande 2 akademiska poäng. Traditionell blandning av uppgifter avsedda att ge insikt i elevernas teoretiska kunskaper. Inga hjälpmedel utom Systemgruppshäften.
* Muntlig framställning (= redovisning av hemläxan) omfattande 2 akademiska poäng, se ovan.
* Laborationer omfattande 6 akademiska poäng, där eleverna får praktisk erfarenhet av det som gåtts igenom på föreläsningar och övningar, se ovan.
Bra mix av moment i examinationen.

Kurslitteraturen

Scheme och Pascalboken har av en del ansetts vara för komplicerade för nybörjare. Pascalboken har dessutom fått kritik för att innehålla många felaktigheter i koden. Lingvistikboken har av flertalet ansetts vara för dyr. Lunells bok förutsätts eleverna läsa på egen hand, medan de övriga i stort sett gåtts igenom på föreläsningstid. Föreläsningsanteckningarna har uppskattats.

Elevenkät

En enkät har lagts ut på nätet. 6 stycken har svarat på enkäten, en sammanställning finns här: sammanställning

Kursens belastning för eleverna

Eleverna har här helt skilda uppfattningar. De elever som tidigare programmerat tycker att tempot kan var lågt medans de som är nybörjare lägger ned mycket tid för att hänga med och de tycker att arbetsbördan är stor.

Planerade förändringar

En förändring av de tre sista laborationerna, bl.a. för att integrera lingvistikdelen bättre. Försöka att ersätta lingvistikboken eftersom den är dyr.