ID1018 Programmering I 7,5 hp

Programming I

  • Utbildningsnivå

    Grundnivå
  • Kursnivå (A-D)

  • Huvudområde

    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

HT17 för programstuderande

HT17 TCOMK för programstuderande

HT16 för programstuderande

HT16 TCOMK för programstuderande

Lärandemål

Efter avslutad kurs ska studenten kunna:

  • Analysera, förklara, modifiera och utöka ett enkelt program i termer av fundamentala programkonstruktioner och begrepp.
  • Beskriva hur numeriska och teckenbaserade data representeras samt diskutera användningen av primitiva datatyper och inbyggda datastrukturer.
  • Designa, implementera, testa och felsöka ett program som använder grundläggande beräkning, enkel I/O, vanliga villkors- och iterationsstrukturer och funktionsdefinitioner.
  • Diskutera vikten av algoritmer, identifiera de nödvändiga egenskaperna hos goda algoritmer och skapa algoritmer för att lösa enkla problem.
  • Utveckla kod som hanterar undantagstillstånd under exekveringen.
  • Försvara filosofin bakom objektorienterad design och begreppen inkapsling, abstraktion, arv och polymorfism.
  • Designa, implementera, testa och felsöka enkla program i ett objektorienterat programmeringsspråk.

Kursens huvudsakliga innehåll

Fundamentala konstruktioner:

  • Grundläggande syntax och semantik hos ett högnivåspråk
  • Variabler, datatyper, uttryck och tilldelning
  • Enkel I/O
  • Villkorliga och iterativa kontrollstrukturer
  • Funktioner och parameteröverföring
  • Strukturerad nedbrytning

Datastrukturer:

  • Representation av numeriska data
  • Omfång, precision och avrundningsfel
  • Arrayer
  • Representation av teckenbaserade data
  • Strängar och stränghantering
  • Minneshantering vid exekvering
  • Pekare och referenspekare

Algoritmisk problemlösning:

  • Problemlösningsstrategier
  • Algoritmers roll i problemlösningsprocessen
  • Implementationsstrategier för algoritmer
  • Felsökningsstrategier
  • Algoritmers begrepp och egenskaper

Objektorienterad programmering:

  • Objektorienterad design
  • Inkapsling och dold information
  • Separation av beteende och implementation
  • Klasser och underklasser
  • Arv
  • Polymorfism

Undantag:

  • Undantagshantering

Kursupplägg

Kursen går under en period vid KTH. Undervisningsformer som används är:

  • Föreläsningar. På en föreläsning introduceras och fördjupas olika begrepp (för alla studenter).
  • Laborationer (programmeringsuppgifter). Studenten löser olika programmeringsproblem med hjälp av dator och verifierar och fördjupar på så sätt sina kunskaper och färdigheter.
  • Seminarier. Studenter förbereder lösningar till problem och diskuterar dem i grupp.

Behörighet

Litteratur

Programmeringsprinciper i Java upplaga 1:1
ISBN: 978-91-44-09442-7

Programmeringsprinciper i Java exempel och övningar upplaga 1:1
ISBN: 978-91-44-09440-3

Utrustningskrav

Examination

  • LAB1 - Programmeringsuppgifter, 4,5, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Skriftlig tentamen, 3,0, betygsskala: A, B, C, D, E, FX, F

Beskrivning av examinationens delar:

  • LAB1 – Studenten demonstrerar kreativitet och programmeringsfärdigheter genom att slutföra ett tillräckligt antal uppgifter.
  • TEN1 – Studenten demonstrerar sin förmåga att analysera och argumentera med programmeringsbegrepp.

Krav för slutbetyg

Minst betyg E på samtliga examinationsmoment.

Ges av

ICT/Programvaruteknik och Datorsystem

Examinator

Fredrik Kilander <fki@kth.se>

Versionsinformation

Kursplan giltig från och med HT2013.
Examinationsinformation giltig från och med HT2013.