Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

ID1021 Algoritmer och datastrukturer 7,5 hp

Kurs-PM HT 2022-50347

Version 1 – 2022-08-26 12:34:46

Kursomgång

HT 2022-1 (Startdatum 2022-08-29, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2022

Presentation av kursen

En grundläggande kurs i datalogi som ger behörighet till flera fortsättningskurser inom datalogi. Kursen tar upp både teori om algoritmer och datastrukturer och praktisk programkonstruktion.

Rubriker markerade med en asterisk ( * ) kommer från kursplan version HT 2022

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.

Läraktiviteter

Kursen består av en serie med inlämningsuppgifter som alla har en sista dag för inlämning. Uppgifterna redovisas i form av en kort (4 sidor) redogörelse för hur uppgiften löstes, vilka problem som uppstod, vilka slutsatser man kan dra mm. Redovisningarna skall vara typsatta enligt den mall som ges. Man skall vara beredd att muntligt redovisa hur man löst en uppgift.

Det finns en serie med uppgifter som skall göras för att bli godkänd på kursen och ytterligare uppgifter för att få högre betyg. Uppgifterna rättas efter hand och blir antingen godkända, underkända eller godkända efter kompletering. Får man komlpetering på en uppgift skall den kompletering lämnas in senast tre dagar senare.

Under kursens gång kommer vi ha föreläsningar som är direkt knutna till de övningsuppgifter som finns - föreläsningarna är inte obligatioriska. Det kommer även finnas en serie övningstimmar då ni kan få hjälp med att lösa uppgifterna.  I övrigt används Canvas för frågor och diskussioner.

Detaljplanering

En veckoplanering finns i Canvas.

Förberedelser inför kursstart

Rekommenderade förkunskaper

Kursupplägget är baserat på att deltagarna har programmeringsvana och utan hjälp kan editera, kompilera och köra enklare program även i språk de kanske inte använder normalt eller har använt förut.

Kurslitteratur

Förutom de uppgifter som kursen bygger på kommer du behöva manualer för det prgrammeringsspråk du använder.

Programvara

Övningsuppgifterna är skrivna med Java i åtanke men du kan välja ett annat språk. Vill du göra uppgifterna i ett annat språk så kontakta först kursansvarig - det är inte alla språk som lämpar sig för kursen.

Examination och slutförande

Betygsskala

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

Examination

  • INL1 - Inlämningsuppgifter, 7,5 hp, Betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för 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.

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

Ingen information tillagd

Fakta om kursomgång

Startdatum

2022-08-29

Kursomgång

  • HT 2022-50347

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter