Logga in

Registrera

1DL201 · Uppsala universitet

Programkonstruktion och datastrukturer

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
20
Språk
Svenska
Nivå
Grundnivå

Lärandemål

Efter godkänd kurs ska studenten kunna:

  • analysera enklare problem, designa lösningar med hjälp av algoritmer och programmering samt förklara dessa lösningar;
  • beskriva algoritmbegreppet och konstruera algoritmer med sekvensering, alternativ och upprepning (iteration/rekursion);
  • redogöra för grundläggande syntax och semantik för ett funktionellt programspråk
  • koda och dokumentera program för enklare problem;
  • förklara, använda och göra ändringar i kod som konstruerats av andra.
  • beskriva -- oberoende av programkoden -- den uppgift ett program skall lösa och de förutsättningar som krävs för att det skall kunna arbeta
  • motivera att körningen av ett program (en algoritm) med upprepning faktiskt avslutas;
  • välja lämpliga algoritmer och datastrukturer för lagring av data, sökning och sortering, samt implementera dessa.
  • använda och implementera grundläggande grafalgoritmer.
  • analysera körtiden för enklare algoritmer/program i relation till indatats storlek, i bästa, sämsta och genomsnittliga fall;
  • utvärdera algoritmer med avseende på komplexitet, välja lämplig algoritm bland olika alternativ;
  • genomföra kodgranskning samt systematiskt söka efter, tolka och förklara fel i enklare program;
  • förklara grundläggande programspråksbegrepp som uttryck, värde, typ, funktion, bindning, rekursion, pekare, sidoeffekt, variabel, tilldelning m.fl.
  • presentera och diskutera kursens innehåll muntligt och skriftligt med för utbildningsnivån lämplig färdighet.
Kursinnehåll
  • Introduktion till programmering: syftet med programmering, programmeringsprocessens faser, programmering satt i sitt sammanhang genom exempel på tillämpningar, kort historik över programmering, datorsystemet ur programmerarens synvinkel, programmeringsmiljöer.
  • Algoritmer: vad en algoritm är, programmet som realisering av en algoritm, skillnaden i preciseringsgrad mellan datorprogram och vardagslivets algoritmer.
  • Algoritmer för sökning (binära sökträd, balanserade sökträd, hashtabeller) och sortering (insättningssortering, merge sort, quick sort, heap sort). Enkla grafalgoritmer (djup-först och bredd-först sökning, topologisk sortering, komponenter).
  • Matematiska grunder för algoritmanalys: asymptotisk notation, summationer, rekursionsformler.
  • Designmetoder: dela och härska.
  • Datastrukturer: enkla datatyper, poster, fält, listor, träd, stackar, köer, prioritetsköer, "heaps".
  • Dataabstraktion.
  • Grundläggande funktionell programmering: funktionsanrop, värden och typer, funktionsabstraktion, definitionsabstraktion.
  • Grundläggande programstrukturer: sekvensering, alternativ, upprepning.
  • Sidoeffekter: tilldelning, grundläggande in/utmatning.
  • Grundläggande programmeringsteknik: systematisk arbetsgång för kravspecifikation, problemanalys, programdesign, kodning, kodgranskning, testning, felsökning samt dokumentation.
Förutsättningar
  • Genomgången Introduktion till Informationsteknologi, genomgången Baskurs i matematik eller Grundläggande algebra.
Litteratur

Saknas

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