CD5440 Datastrukturer, algoritmer och programkonstruktion
(Läsperiod 4, 2001/2002)

Senaste nytt | Kursmaterial | Kursplan | Schema | Tyck till / Fråga

Allmän information

Kursen skall ge grundläggande kunskaper om ofta använda datastrukturer och algoritmer samt hur dessa implementeras och tillämpas på olika problem. Dessutom avser kursen ge grundläggande kunskaper om utvecklingsmetodik för programvara. Kursen ges dagtid på halvfart i läsperiod 4 vt 2002 för datateknikprogrammet och elektronikprogrammet. Värdinstitution är Institutionen för Datateknik (IDt) på Mälardalens Högskola i Västerås.

Förkunskapskrav

Programstudenterna (datateknik/elektronik) förväntas ha kurserna datorarkitektur och programmeringsteknik 1, 5p, samt datorarkitektur och programmeringsteknik 2, 5p, avklarade. Fristående studenter skall ha inhämtat motsvarande kunskaper i programmeringsteknik, till exempel genom att kursen C-programmering, 5p, har avklarats.

Undervisning

Kursen består av föreläsningar, handledda övningstillfällen, laborationer och en projektuppgift som redovisas vid ett seminarium. Åtta föreläsningar kommer att ges. Dessa föreläsningar är delvis av översiktskaraktär vilket förutsätter att deltagarna studerar kurslitteraturen kontinuerligt under kursens gång enligt läsanvisningarna. Vidare kommer sex handledda övningstillfällen att finnas. Dessa övningar syftar till att exempel och övningar löses och diskuteras så att förståelsen ökas, både när det gäller grundläggande och svårare moment i kursen. Övningarna bygger på aktivt deltagande från studenterna. Laborationer genomförs i grupper om maximalt två studenter. Båda deltagarna i gruppen ska aktivt delta i arbetet och närvara vid redovisning av laborationerna. Uppgifterna redovisas och godkänns av laborationsassistent vid respektive laborationstillfälle. Man förväntas följa schemat för den grupp man tillhör. Om man skulle vara förhindrad vid något tillfälle kan man se efter om det finns någon ledig laborationsdator vid annat tillfälle. Laborationsanvisningar finns tillgängliga på kursens hemsida. Observera att det krävs betydligt mer tid än de schemalagda 4 timmarna till varje laboration för att hinna lösa alla uppgifterna. Schemalagda timmar är handledningstid. Räkna med att du behöver förbereda och läsa in dig och därmed lägga ner mycket mer tid än 4 timmar.

Kurslitteratur kursboken

Kurslitteraturen består av boken Data Structures, Algorithms and Software Principles in C av Thomas A. Standish, Addison Wesley 1995, ISBN 0-201-59118-9. Boken kompletteras med ytterliggare kursmaterial såsom laborationsanvisningar, övningsmaterial samt diverse artiklar. När det gäller projektuppgiften i kursen så krävs också att litteratursökning genomförs efter relevant källmaterial.

Examination

För godkänt på kursen krävs det godkänd tentamen, laborationskurs och projektuppgift. Denna kursomgång kommer den skriftliga tentamen att vara en så kallad hemtenta. Dessutom används poänggivande inlämingsuppgifter under kursens gång som kommer att motsvara innehållet i hemtentan. Det kombinerade resultatet från dessa inlämningsuppgifter och hemtentan kommer att avgöra betyget på kursen. Mer utförliga regler om hemtentan samt betygssystemet kommer att ges i ett separat dokument som kommer att delas ut under kursen. I försättsbladet till övningsuppgifterna beskrivs reglerna för inlämingsuppgifternas genomförande. För att få skriva tentamen skall giltig legitimation och betalt kåravgiftskvitto/studentkort uppvisas då uppgifterna på hemtentan hämtas ut.

Bonuspoäng och betygssystem

I kursen används flera kompletterande examinationsformer som tillsammans påverkar betyget på kursen, nämligen inlämingsuppgifter samt hemtentamen. Ett poängsystem kommer att tillämpas så att poäng från de olika momenten som genomförts kombineras ihop till ett betyg. Reglerna för detta poäng- och betygsystem kommer att presenteras vid den första föreläsningen samt beskrivas i ett separat dokument.

Deadline

För laborationer gäller att samtliga laborationer skall vara redovisade vid sista laborationstillfället. Därefter ges endast tillfälle för redovisning i samband med de två ordinarie omtentorna för kursen. Boka i så fall tid med examinatorn i god tid i förväg, så kommer denne att göra upp ett redovisningsschema under veckorna för omtentorna.

Fusk

Det ligger i allas intresse att fusk förhindras såväl vid tentamen som vid laborationer och andra uppgifter. Särskilt vid programmeringsarbete är det ju lätt att kopiera filer med mera. Det är inte tillåtet att kopiera andras lösningar, vare sig helt eller delvis, och lämna in dessa som sina egna. Detta är fusk och kommer att anmälas som sådant till disciplinnämnden. Att åka snålskjuts på sina studiekamrater, dvs. att bara hänga med vid ett grupparbete, utan att aktivt ta del i arbetet och driva det framåt, är inte bara omoraliskt, utan det kommer också att betraktas som fusk. Om Mälardalens högskolas disciplinnämnd finner att en student har fuskat kan denne bli avstängd från fortsatta studier.

Lärare och administrativ personal

Föreläsare, kursledare, examinator: Thomas Larsson
Institutionssekreterare och studievägledare: Monica Wasell

Labassistenter: Daniel Persson och Johan Fredriksson

Tidsplanering och läsanvisningar

Följande plan för föreläsningarna kommer i stort sett att följas. Dock kan mindre justeringar komma att göras efter behov under kursens gång. Kom helst väl förberedd till föreläsningarna genom att du i förväg läser igenom läsanvisningarna och förbereder frågor som du vill ha svar på under föreläsningen.

MomentInnehållLäsanvisningar
F1Introduktion, länkade datastrukturer, rekursionKapitel 1-3
F2Modularitet och dataabstraktion, introduktion till software engineeringKapitel 4-5
F3Stackar, köerKapitel 7: Allt ingår utom avsnitt 7.9
F4Listor, strängar och dynamisk minneshanteringKapitel 8: Avsnitten 8.1-8.3 och 8.5 ingår
F5Algoritmanalys, sorteringKapitel 6 och 13
F6TrädKapitel 9: Avsnitten 9.1 till 9.7 ingår
F7Hashing och the Table ADTKapitel 11
F8Grafer och repetitionKapitel 10: Avsnitten 10.1 till 10.6 ingår

Last updated on Tuesday, 25-Aug-2009 11:00:26 CEST
Antal accesser: [an error occurred while processing this directive]