Hoppa till huvudinnehållet

ID1020 Algoritmer och datastrukturer 7,5 hp

Sista möjligheten att examineras i kursen (tentamen och laborationer) sker i P2 HT2022. Kursen har ersatts med kursen ID1021 (with a smaller scope). Vid intresse att delta i omexamination i ID1020 i P2 kontakta Robert Rönngren (mail)

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan ID1020 (HT 2022–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Grundläggande algoritmanalys:

  • Enklare analys avseende algoritmers resursbehov i form av tid och minne.

Grundläggande algoritmer:

  • enkla numeriska algoritmer
  • sekventiella och binära sökalgoritmer
  • djupet först- och bredden först-sökning
  • sorteringsalgoritmer: urvalssortering, insättningssortering, Quicksort, heapsort, mergesort.

Grundläggande datastrukturer:

  • linjära listor, stackar, köer, hashtabeller, binära träd, heapar, binära sökträd och problemträd.

Programkonstruktion:

  • design och implementering av program som använder grundläggande algoritmer och datastrukturer för att lösa datalogiska problem.

Lärandemål

Efter godkänd kurs ska studenterna kunna

  • beskriva ett antal vanliga algoritmer för sökning och sortering och deras egenskaper
  • jämföra algoritmer med avseende på tids- och minnesåtgång
  • implementera datastrukturer som linjära listor, stackar, köer, hashtabeller, binära träd och sökträd
  • identifiera problem där datastrukturerna ovan är användbara och konstruera enkla algoritmer med dessa
  • skriva program som använder algoritmer och datastrukturer med hjälp av goda programmeringsprinciper som t.ex. systematiska tester och abstraktion
  • modellera problem som sökproblem och implementera algoritmer för breddenförstsökning, djupetförstsökning eller bästaförstsökning

i syfte att

  • kunna konstruera program som löser problem genom att använda vanligt förekommande algoritmer och datastrukturer
  • ha tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.

Kurslitteratur och förberedelser

Särskild behörighet

Slutförd kurs i programmering motsvarande ID1018.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs. Detta gäller endast för student som är förstagångsregistrerad på den behörighetsgivande kursomgången eller har både denna och den sökta kursomgången i sin individuella studieplan.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • ARBA - Kursarbete, 4,5 hp, betygsskala: P, F
  • TENA - Skriftlig tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Ingen information tillagd

Kontaktperson

Robert Rönngren

Övrig information

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.