Hoppa till huvudinnehållet
Till KTH:s startsida Till KTH:s startsida

ML1300 Programmering grundkurs 7,5 hp

Kursomgångar saknas för aktuella eller kommande terminer.
Rubriker med innehåll från kursplan ML1300 (VT 2014–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

  • Programmeringsspråket C. Pekare och strukturer.
  • Problemanalys, strukturering
  • Modulär programmering, felsökning, testning
  • Datatyper, variabler, sammansatta datatyper
  • Minneshantering
  • Sekvens, selektion, repetition
  • Operatorer, aritmetik
  • Funktioner
  • Filhantering

Lärandemål

Kursen ska fungera som en introduktion till programmering och ge grundkunskaper i programmeringsspråket C. Kursen ska ge en stabil bas för kommande kurser som innehåller programmering.

För godkänt betyg ska studenten skriva strukturerad kod i programspråket C med särskild vikt vid att:

  • Formulera enkla algoritmer för givna problem och överföra dessa till programkod
  • Använda en utvecklingsmiljö för att skriva, exekvera och felsöka ett program
  • Införa och välja datatyper och variabler, även sammansatta, för lagring av data
  • Förklara skillnaden mellan variabelvärde och adress/referens, samt skillnader i minneshantering vid lagring av olika datatyper
  • Skriva funktioner för väl avgränsade uppgifter
  • Dela upp problem i delproblem, implementera och testa steg för steg, med val av lämpliga testdata
  • Dela upp ett program i flera moduler/filer för att främja abstraktion, återanvändning och underhåll
  • Skriva exekverbara program utifrån enkel programdesign (t ex top down designschema, pseudokod eller flödesschema)
  • Använda externa filer för datalagring

För högre betyg ska studenten kunna:

  • Analysera större programmeringsuppgifter och strukturera lösningar på flera nivåer, innefattande problemanalys, övergripande design, väl utformade användargränssnitt, uppdelning i delproblem, moduler och funktioner samt implementation.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper motsvarande behörighetskraven för högskoleingenjörsutbildning
Grundläggande datorvana

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

C Programming: A Modern Approach, Second Edition
K. N. King, ISBN-10: 393-97950-4 eller ISBN-13: 978-0-393-97950-3

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

  • TEN1 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • ÖVN1 - Laborationer, 4,5 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.

Till momentet ÖVN1 ingår en projektuppgift, som består i att en grupp skall skriva ett större program enligt specifikation.

Övriga krav för slutbetyg

Godkänd tentamen.
Godkända laborationer.

Slutbetyget grundas på samtliga moment, betygsskalan A-F. Slutbetyget viktas så att momentet ÖVN1 har större tyngd än momentet TEN1.

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

Programmering fortsättningskurs

Övrig information

Tidigare kursnummer: HI1900/6S2950

Kurslitteratur på engelska används.