Hoppa till huvudinnehållet
Till KTH:s startsida

ID1022 Konsten att programmera 7,5 hp

Information per kursomgång

Kursomgångar saknas för aktuella eller kommande terminer.

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan ID1022 (HT 2026–)
Rubriker med innehåll från kursplan ID1022 (HT 2026–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

  • Användning av olika programvaruutvecklingsverktyg: versionshanteringssystem, UNIX-kommandorad, kompilatorer, integrerade utvecklingsmiljöer, och felsökningsverktyg.
  • Programmering med hjälp av olika datastrukturer: listor, arrayer, stackar, köer, och strukturer för uppslagning.
  • Programspråkskoncept: mönstermatchning, rekursion, slingor, aritmetik, operatorer, variabler, algoritmer, oföränderlig data, objekt, klasser, funktioner, pekare, datatyper, polymorfism.
  • Programvarutekniker: design, testning, felsökning, promptning (både för egenskrivna program och av existerande program).
  • Programspråksparadigm: historiskt perspektiv, översikt av olika språk och paradigm, samt studie, diskussion, och analys av programmeringsbegrepp inom imperativ programmering (variabler och pekare), funktionell programmering (rekursion och oföränderlig data) och objektorienterad programmering (objekt och klasser).
  • Former av in- och utmatning, inklusive ljud, bild, text och filer.
  • AI-verktyg: översikt och kortare övningar med moderna AI-verktyg.
  • Individuellt projekt: egen utveckling av ett icketrivialt program, inklusive problemformulering, design, testning och presentation.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • använda grundläggande programvaruutvecklingsverktyg, datastrukturer, algoritmer och datatyper
  • konstruera program som innehåller funktioner och olika kontrollflödeskonstruktioner med hjälp av både statisk och dynamisk typkontroll
  • jämföra och analysera programmeringsbegrepp inom imperativ programmering, funktionell programmering och objektorienterad programmering
  • felsöka och förbättra program skrivna av andra personer
  • programmera både med och utan AI-baserad kodgenerering
  • designa, utveckla och testa ett icke-trivialt program

i syfte att

  • kunna som enskild student designa, utveckla och testa egna program utan hjälp av andra personer
  • vara väl förberedd att kunna lära sig nya programspråk, inklusive andra språk som är imperativa, funktionella eller objektorienterade.

För högre betyg ska studenten kunna

  • designa, utveckla och testa program med komplexare problemformulering och med mer avancerade språkkoncept.

Kurslitteratur och förberedelser

Särskild behörighet

Ingen information tillagd

Kurslitteratur

Du hittar information om kurslitteratur antingen i kursomgångens kurs-PM eller i kursomgångens kursrum i Canvas.

Examination och slutförande

Betygsskala

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

Examination

  • DAT1 - Datorbaserad examination, 6,0 hp, betygsskala: A, B, C, D, E, FX, F
  • PRO1 - Individuellt projekt, 1,5 hp, betygsskala: P, 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å läsår.

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å

Övrig information

Överlappar delvis (3-6 hp) med DD1310-DD1319, DD1321, DD1331, DD1333, DD100N, DD1337, ID1018.