Hoppa till huvudinnehållet

ID1018 Programmering I 7,5 hp

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 Start 2024-10-28 programstuderande

Anmälningskod

50136

Rubriker med innehåll från kursplan ID1018 (HT 2022–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehå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

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.

Kurslitteratur och förberedelser

Särskild behörighet

Ingen information tillagd

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

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

Betygsskala

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

Examination

  • LABB - Programmeringsuppgifter, 4,5 hp, betygsskala: P, F
  • TEN1 - Skriftlig tentamen, 3,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.

Beskrivning av examinationens delar:

LABB – Studenten demonstrerar kreativitet och programmeringsfärdigheter genom att slutföra ett bestämt antal uppgifter.

TEN1 – Studenten demonstrerar sin förmåga att analysera och argumentera med programmeringsbegrepp.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

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å

Påbyggnad

Ingen information tillagd

Övergångsbestämmelser

För student registrerad på kursen för första gången höstterminen 2021 eller tidigare och som inte har ett godkänt betyg på modul LAB1 gäller: till och med höstterminen 2024 kan studenten efter samråd med examinator välja att bli examinerad på antingen LAB1 eller LABB, därefter bara på LABB. För student som har godkänt betyg på LAB1 vägs detta in i slutbetyget. 

Övrig information

I denna kurs tillämpas EECS hederskodex, se: http://www.kth.se/eecs/utbildning/hederskodex.