Logga in

Registrera

TDDD86 · Linköpings universitet

Datastrukturer, algoritmer och programmeringsparadigm

Ny kurs

Kom igång gratis

Inga tentor än

Ladda upp dina tidigare tentor och få hjälp med att strukturera ditt studiematerial

Få dina tentauppgifter kategoriseradeBli guidad genom ditt studiematerialFå hjälp direkt med teori och tipsHåll koll på dina framsteg

Kurs info

KurssidaKursplan
HP
11
Språk
Svenska
Nivå
Grundnivå
Fakultet
Tekniska fakulteten
Institution
Institutionen för datavetenskap

Lärandemål

Kursens syfte är att ge studenten verktyg att självständigt kunna konstruera datorprogram som effektivt utnyttjar tid och minne. Dessutom ger kursen fördjupade kunskaper i programmering, särskilt procedurell och objektorienterad programmering i programspråket C++, samt en introduktion till programmeringsparadigm som ett bredare perspektiv på programmering. Efter genomgången kurs skall den studerande:

  • ha god förmåga att analysera tids- och rumskomplexitet hos iterativa och enkla rekursiva algoritmer.
  • kunna redogöra för och använda de vanligaste abstrakta datatyperna och sorteringsalgoritmerna.
  • kunna implementera de vanligaste abstrakta datatyperna med olika datastrukturer och algoritmer.
  • kunna beskriva etablerade metoder för design (och analys) av algoritmer i allmänhet.
  • kunna implementera procedur- och objektorienterade program i programspråket C++.
  • kunna använda olika komponenter från C++ standardbibliotek i kombination för att lösa icke-triviala beräkningsproblem.
  • kunna beskriva de vanligaste programmeringsparadigmen.
  • kunna tillämpa effektiva algoritmer för att bättre förstå samhälleliga problem kopplade till hållbar utveckling.
Kursinnehåll
  • Grundläggande begrepp
  • Matematiska grunder för algoritmanalys
  • Grundläggande abstrakta datatyper och datastrukturer, såsom listor, stackar, köer, sökträd, heapar, hashtabeller och grafer
  • Resursanalys av algoritmer
  • Strängalgoritmer
  • Algoritmer för sortering och urval
  • Grafalgoritmer
  • Paradigmer för design av algoritmer (dynamisk programmering, giriga algoritmer, rekursiv nedbrytning, totalsökning)
  • Procedurell programmering i C++ (variabler, konstanter, deklarationer, uttryck, satser, funktioner, grundläggande datatyper och datastrukturer)
  • Pekare och dynamisk minneshantering i C++
  • Klasser i C++ (deklaration, datamedlemmar och medlemsfunktioner, åtkomstspecifikation av klassmedlemmar, konstruktorer, destruktorer, arv, polymorfi, vänner)
  • Användning av C++ standardbibliotek (in- och utmatning, tecken och stänghantering, containrar, iteratorer, algoritmer, funktionsobjekt, lambdauttryck)
  • Mallar i C++
  • Introduktion till programmeringsparadigm
  • Introduktion till effektiva algoritmers betydelser för samhällets mål med en hållbar utveckling
Förutsättningar
  • Diskret matematik, Grundläggande funktionell, imperativ och objektorienterad programmering.
Litteratur
"C++ Primer" - Lippman, Lajolie, Moo
Kursspecifik version av OpenDSA
Laborationskompendium, stilguider för C++ och annat material finns på kursens webbsidor
Liknande kurser vid andra universitet
Kungliga Tekniska högskolan

Kungliga Tekniska högskolan

Logik för dataloger

DD135143 tentor
Kungliga Tekniska högskolan

Kungliga Tekniska högskolan

Tillämpad datalogi

DD132038 tentor
Kungliga Tekniska högskolan

Kungliga Tekniska högskolan

Datalagring

IV135125 tentor
Redo att boosta dina studier?

Gör som 15 000+ studenter och ta kontroll över ditt tentaplugg.

Kom igång gratis

Produkt

  • Priser

  • Karriär

Företag

  • Om oss

  • Blogg

  • Användarvillkor

  • Integritet

  • Support

Universitet

  • KTH

  • Uppsala universitet

  • Linköpings universitet

  • Chalmers

  • Lunds universitet

  • Luleå tekniska universitet

  • Stockholms universitet

  • Gymnasiet

Socialt

  • Instagram

  • Facebook

  • YouTube

  • TikTok

  • Linkedin

© 2026 Crash Course Sverige AB