Nada

Kursanalys för 2D1440, Avancerade algoritmer, hösten 1998

Kursdata

Tid: period 2 läsåret 1998/99 dvs oktober-december 1998.
Poängantal: 4
Examination: 3 inlämningsuppgifter.
Föreläsningar: 30 timmar.
Kursledare och föreläsare: Johan Håstad, Staffan Ulfberg gav två föreläsningar då Johan var bortrest.
Antal elever som skrev upp sitt namn på någon lista i början: 47, varav 23 från D, 6 från F, 7 utbytesstudenter, 9 studenter från SU, samt 2 doktorander. Av dessa har 9 inte gjort något synligt i kursen dvs inte lämnat in något hemtal.

Kurslitteratur:
Kurskompendium, skrivet av tidigare års elever, sammanställt och redigerat av Johan Håstad
Kozen: The design and analysis of algorithms, Springer Verlag, ISBN 0-387-97687-6.
Cormen, Leiserson, Rivest: Introduction to Algorithms, McGraw-Hill, ISBN 0-07-013143-0.

Avklarade moment 1999-01-11:

Godkända 32 varav 7 betyg 5, 10 betyg 4, 10 betyg 3 och 1 betyg VG
och 4 betyg G.
Prestationsgrad
Prestations- och examinationsgrad:   68%
Examinationsgrad av dom elever som lämnat in någon uppgift i kursen: 84%

Mål

Kursens mål är att för att eleverna ska

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

Kursen har gått två gånger tidigare som teknologkurs, våren och hösten 1997. Innehållet diskuteras alltid på första föreläsningen och har genomgått smärre justeringar. Nytt för i år var en föreläsning om kompressionsalgoritmer. Den fick plats på bekostnad genom en viss banting av delen om flödesalgoritmer.

Formatet på kursen har annars varit oförändrat med föreläsningar och inlämningsuppgifter.

En förändring mot tidigare var att på grund av det stora antalet utbytesstuderande hölls kursen på engelska.

Sammanfattning

Jag upplevde kursen positivt med många mycket intresserade elever. Ett stort antal la verkligen ner en betydande arbetsinsats på kursen. Kursens föreläsningar har en klar slagsida åt teorihållet men då en stor del av tiden på hemtal åtgår till implementationsuppgifterna finns där en större anknytning till praktik. I årets kurs upplevde jag möjligen att när det gällde elevprestationerna så fick de en slagsida åt det praktiska hållet. Det är förståligt i och med att en implementation visserligen tar tid men är mer säkra poäng än ett matematiskt resonemang på ett teorital.

Faktiskt innehåll i kursen

Det faktiska innehåller överenstämde med det planerade förutom den nya föreläsningen om datakompression.

Elevernas synpunkter och kursledarens kommentarer

Enkät (19 svar) gjordes med ACE av både vårens och höstens kursomgångar. Fullständiga resultat finns utlagda på nätet. Man kan notera att kursen fick ett svalare mottagande än tidigare år trots snarlik kurs och aning förbättrat kompendium. Huvudsakliga orsaken till detta anser jag vara det faktum att föreläsningarna hölls på engelska.

Kursinnehåll

Detta diskuteras på första föreläsningen så eleverna har viss möjlighet att påverka och av enkätsvaren att döma är eleverna nöjda på denna punkt.

Kurslitteratur

Officiellt har kursen två kursböcker och dessutom ett kompendium (152 sidor). Det var nog så att kompendiet blev huvudsaklig kurslitteratur med CLR som viktigaste bikälla. Kompendiet förbättras år från år men får fortfarande en hel del kritik. Det är riktigt att kompendiet är, på flera sätt, av betydligt lägre kvalite än en bok men jag ser ingen bättre lösning än kompendiet kombinerat med CLR och Kozen som brevidläsning för de mest intresserade. Naturligtvis tänker jag fortsätta att förbättra kvaliten på kompendiet även om det nog inte kommer nå upp till samma kvalite som en bok.

Undervisningen

Föreläsningarna har varit välbesökta, dock lyckades jag tydligen radera frågan om närvaro på enkäten. Betygen på pedagogiken är sämre än föregående år men betyget "good" var trots allt det vanligaste med över 50% av svaren bland de som varit på föreläsningarna. Det mest genomgående klagomålet var att föreläsningarna hölls på engelska. Några andra egenskaper hos föreläsningarna som kunde förbättras ges också i enkätsvaren. Dessa ska beaktas efter bästa förmåga.

Hemtalen

Enligt enkätsvaren har hemtalen har tagit mycket tid speciellt för de som villa ha bra betyg. På varje hemtal finns både teori och implementationsuppgifter. Tanken är att man ska (nästan) kunna klara kursen genom att göra endera delen väl och ganska lite på den andra delen. Implementationsuppifterna tar naturligtvis en hel del tid och poäng per timme är sämre för dessa men det är säkra poäng. Jag upplevde att resultaten på teori uppgifterna var mindre gott. Problemen var dock relativt svåra och kanske var det för få enkla teori problem bland årets uppgifter.

Det var problem att det inte fanns bokade datorsalar samt att program med långa exekveringstider blev dödade av andra elever när de gick i bakgrunden. Det är klart att detta är ett problem men det är oklart hur det bäst ska lösas. Jag ser det som viktigt att en del av implementationsuppgifterna tar lång tid att köra i och med att det är kursens övergripande mål att förstå vad som går att köra i praktiken. Detta gör det nödvändigt att tvinga folk att implementera effektivt och klagomålet att man är tvungen att kunna c/assembler kommer inte åtgärdas av det skälet. Man kan även notera att det går att få högsta betyg på kursen utan att lösa de uppgifter som tog extremt lång tid att köra.

Frågan om att komplettera redovisningen av hemtalen med en muntlig redovisning dök upp i år igen. I ärlighetens namn kan man konstatera att skälet att det inte blev av i år var helt enkelt att jag inte hade tid. Jag tror det vore positivt att införa detta.

Kursens nivå

Eleverna anser att kursen är svår och att den kräver mycket arbete. Det är inte tänkt att kursen ska vara lätt och var den för svår i år var detta bara marginellt. Arbetet för eleverna består till stor del av att lösa inlämningsuppgifterna. Dessa är ganska många och svåra men redan 1/3 av maximal poäng ger godkänt så det är inte tänkt att varje elev ska försöka på samtliga uppgifter.

Anpassning till andra kurser

Det stora problemet här anser jag vara att bara 58% svara "Ja" på frågan om förkunskaperna i matematik var tillräckliga. Det var en miss att på enkäten inte be eleverna beskriva vad bristerna var men det är mycket troligt att det var talteorin som behövdes för primtalsalgoritmen och faktoriseringen. Den uppenbara lösningen är att förstärka föreläsningarna på den punkten. Anpassningen till Algoritmer och Komplexitet och Algoritmer Datastruktur och Komplexitet verkar ha fungerat rimligt bra även om 3 personer som svarade ansåg sig att otillräckliga förkunskaper även inom datalogi. Av andra svar är det troligt att det rör sig om brister i effektiv C-programmering. Jag ser det som ett mindre problem som en elev bör kunna åtgärda under kursens gång.

Planerade förändringar


Sidansvarig: <johanh@nada.kth.se>
Senast ändrad 11 januari 1999
Tekniskt stöd: <webmaster@nada.kth.se>