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
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
Rekommenderade förkunskaper
Utrustning
Kurslitteratur
Examination och slutförande
När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.
Betygsskala
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
Möjlighet till plussning
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
Ges av
Huvudområde
Utbildningsnivå
Påbyggnad
Ö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.