Hoppa till huvudinnehållet
Till KTH:s startsida

DD1328 Grundläggande datalogi för tekniska beräkningar 9,0 hp

Kurs-PM VT 2026-61521

Version 1 – 2026-01-09 16:28:04

Kursomgång

grudatt26 (Startdatum 2026-01-13, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM VT 2026

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

Innehåll och lärandemål

Kursinnehåll

I den här kursen bygger studenten på sina kunskaper om algoritmer, datastrukturer och programkonstruktion, lär sig grunderna i parallell och distribuerad programmering, och förbereder sig för kurser i beräkningsmatematik, maskininlärning och teoretisk datalogi. Programspråk i kursen är Python och Go.

Algoritmer och datastrukturer: En systematisk genomgång av begreppen abstrakta datatyper, stackar, köer, listor, träd, sökning, sortering och rekursion utgående från de kunskaper studenterna förvärvat i kursen Grundläggande programmering. Hashning. Prioritetsköer. Sökträd. Problemträd. Textsökning. Enkel syntaxanalys. Algoritmanalys. Kryptering.

Programkonstruktion: Programkvalitet. Abstraktion. Modularisering. Testning. Systemanrop. Standardmoduler.

Parallellprogrammering: Grundläggande kunskaper om hur en dator fungerar och är uppbyggd, både ur maskinvaru- och programvaruperspektiv. Introduktion till parallell och distribuerad programmering med processer.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • systematiskt testa program för att upptäcka fel
  • använda abstraktion som ett verktyg för att förenkla programmeringen
  • välja lämplig algoritm till ett givet problem
  • jämföra algoritmer med avseende på tids- och minnesåtgång
  • beskriva och implementera olika algoritmer för sökning och sortering
  • formulera och implementera rekursiva algoritmer
  • skriva och använda enkel BNF-syntax
  • implementera, och konstruera algoritmer för, grundläggande datastrukturer
  • designa och implementera enkla parallella program

i syfte att

  • bli bra på att lösa problem med programmering
  • kunna använda datalogiska metoder i tillämpningsprojekt
  • gå fortsättningskurser i beräkningsmatematik, maskininlärning och teoretisk datalogi.

Läraktiviteter

Kursen består av aktiviteterna:

  • Föreläsningar
  • Övningar
  • Laborationstillfällen

Övningarna är ett tillfälle att öva på uppgifter inför arbetet med labbarna. De består i regel av en kortare genomgång av de olika uppgifterna och sedan arbete ensam eller i grupp med handledning av övningsledare. Eftersom övningarna består till stor del av att skriva kod behöver studenter ha med egen laptop, eller dela med någon annan.

Kursens enda examinerande moment är laborationsuppgifterna, där man både löser uppgifter med kod samt svarar på mer teoretiska frågor. På laborationstillfällena har man möjlighet att få hjälp med detta samt att redovisa. Dess är i regel på plats i datorsalar.

 

Detaljplanering

Kursen består av fyra moduler:

  • A. Algoritmer och komplexitet, 2 hp

  • B. Datastrukturer och lärande algoritmer, 2 hp

  • Parallellprogrammering (samläsning med DD1396), 3 hp

  • C. Datalagring och beräkningar, 2 hp

Förberedelser inför kursstart

Kurslitteratur

  • Föreläsningmaterial
  • Övningsmaterial
  • Labbinstruktioner
  • Kursmaterial i form av utvalda länkar till relevanta artiklar

Utrustning

På övningarna förväntas man ha tillgång till egen laptop. Men man kan utan problem jobba i mindre grupper och dela.

Programvara

I kursen används programmeringsspråken Python och Go. Python för modul A, B och C och Go för parallellprogrammeringsdelen.

Labbarna som skrivs i Python publiceras som jupyter notebooks (.ipynb-filer) som studenten behöver kunna öppna och redigera. Instruktioner och hjälp kring detta finns att tillgå.

Examination och slutförande

Betygsskala

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

Examination

  • LABB - Datorlaboration, 2,0 hp, betygsskala: A, B, C, D, E, FX, F
  • LABC - Datorlaboration, 2,0 hp, betygsskala: A, B, C, D, E, FX, F
  • HEM3 - Hemuppgift, 3,0 hp, betygsskala: P, F
  • LABA - Datorlaboration, 2,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.

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

Avsnittet nedan kommer inte från kursplanen:

LABB - Datorlaboration, 2,0 hp

Datastrukturer och grafalgoritmer

LABC - Datorlaboration, 2,0 hp

Datalagring och beräkningar

HEM3 - Hemuppgift, 3,0 hp

Parallellprogrammering

LABA - Datorlaboration, 2,0 hp

Algoritmer och komplexitet

Notera att dessa faktiskt utförs i ordningen LABA, LABB, HEM3, LABC

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.

Avsnittet nedan kommer inte från kursplanen:

Regler kring användning av AI verktyg framgår för varje laborationsuppgift.

Ytterligare Information

Ingen information tillagd

Fakta om kursomgång

Startdatum

2026-01-13

Kursomgång

  • grudatt26 VT 2026-61521

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter