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

DD1310 Programmeringsteknik 6.0 hp

Kurs-PM HT 2022-51462

Version 1 – 2022-08-27 00:04:44

Kursomgång

COPEN+CMATD (Startdatum 2022-08-29, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2022

Presentation av kursen

En kurs i grundläggande programmeringsteknik.

Rubriker markerade med en asterisk ( * ) kommer från kursplan version HT 2020

Innehåll och lärandemål

Kursinnehåll

Grundläggande datatekniska begrepp.

Programmering i ett modernt programspråk (Python). Datastrukturer och klasser. Problemlösning genom uppdelning i delproblem. Programstrukturering. Flera mindre programmeringsuppgifter samt en större, individuell programmeringsuppgift med stor vikt på strukturering och specifikation av ingående moduler.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • konstruera program utan kodupprepningar,
  • dela upp ett större problem i hanterliga delar,
  • dela upp ett program,
  • tillämpa styrstrukturer,
  • utforma och presentera användarvänliga utdata,
  • skapa flexibla applikationer,
  • välja lämpliga identifierarnamn,
  • konstruera interaktiva program,
  • använda och konstruera sammansatta datatyper (klasser),
  • överföra data mellan fil och program,
  • granska andras program

i syfte att kunna

  • använda programmering för att lösa problem,
  • tillämpa problemlösningsmetodiken även inom andra områden än programmering,
  • diskutera programutveckling med experter,
  • bedöma kommersiella program,
  • självständigt och i grupp kunna lösa problem genom att konstruera program på upp till femhundra rader i ett modernt programspråk.

Läraktiviteter

Kursen består av aktiviteterna föreläsningar, övningar, laborationstillfällen. Till varje aktivitet ska man förberea sig enligt följande upplägg. Till de flesta föreläsningar ska man ha läst igenom självstudiematerialen OLI-moduler samt göra uppgifterna som finns i modulerna. Föreläsningar fungerar som förberedelse till övningar. Tanken med övningar är att studenterna ska lösa uppgifter i mindre grupp med möjligheten att kunna få hjälp av en lärare, alternativ läraren presenterar uppgifter och dess lösningar för alla. Övningar fungerar som förberedelse till labbarna men för att få tillgång till labbuppgifterna så behöver man göra förberedande quizen. Quizen kan göras obegränsad antal gånger och man måste ha rätt på alla uppgifter i quizen för att kunna få tillgång till tillhörande laborationsuppgifter. I delajplaneringstabellen framgår detta.

Detaljplanering

Följande tabell visar hur man förbereder sig till läraktiviteterna och deras innehåll. Information om datum och tid för läraktiviteterna finner du i schemat.

Läraktivitet Innehåll Förberedelse

Föreläsning 1

Kursinformation, python, utskrift, inläsning

 

Föreläsning 2

Variabler, datatyper, aritmetiska operatorer, omvandling mellan datatyper, reserverade ord, logiska operatorer, if, elif, else, while-slinga, kommentarer och modulo operatorn Läs och gör uppgifterna i  OLI-modulerna 1,2 och 5

Övning 1

Variabler, operatorer, datatyper, if, elif, else, while-slinga

 
Laboration 1 Introduktion till linux, terminal, emacs och python Quiz 1(hederskodex)
Föreläsning 3 Listor, tupler, strängar, for-slinga, importera moduler, random, stränghantering, slicing, list-metoder Läs och gör uppgifterna i  OLI-modulerna 3,4,6 och 7
Övning 2 Listor, strängar, for-slinga, importera moduler, random, stränghantering, slicing, list-metoder  
Laboration 2 Beräkning mha operatorer, if-sats, while-sats Quiz 2
Föreläsning 4

Felhantering, funktioner, parametrar, egna funktioner, parametrar, returvärden, None, globala och lokala variabler

 

Läs och gör uppgifterna i  OLI-modulerna 8 och 9
Övning 3

Egendefinierade funktioner,  argumenter, parametrar och return, globala och lokala  variabler, felhantering 

 
Laboration 3  For-satser, range, nästladde slingor, slingor och listor Quiz 3
Föreläsning 5 Filhantering, introduktion till klasser Läs och gör uppgifterna i  OLI-modulen 10
Övning 4 Filhantering, mer om laboration 4  
Laboration 4 Funktioner, felhantering och matriser Quiz 4
Föreläsning 6 Klasser, objekt, konstruktormetoden, instansmetoder Läs och gör uppgifterna i  OLI-modulen 11
Övning 5 Klasser och objekt  
Laboration 5 Klasser, objekt och filhantering Quiz 5
Föreläsning 7 Fortsättning på klasser, objekt, klassmetoder, instansmetoder, __lt__, __gt__, __str__, __eq__, sort och sorted Läs och gör uppgifterna i  OLI-modulen 11
Föreläsning 8 Genomgång av datorprov  
Föreläsning 9  Hur man skriver specifikation till P-uppgiften  
Föreläsning 10  Grafik  


Schema HT-2022-COPEN/CMATD

Förberedelser inför kursstart

Rekommenderade förkunskaper

Matematikkurserna från gymnasiets naturvetenskapsprogram eller motsvarande. Någon datorerfarenhet (begreppen operativsystem och fil samt erfarenhet av någon tillämpning t.ex. ordbehandling). En grundläggande kurs i matematik, till exempel SF1624/SF1625 (kan läsas parallellt).

Kurslitteratur

  • Föreläsningsmaterial (läggs upp på canvas)
  • OLI-material (tillgänglig via canvas)
  • Övningsmaterial (delas ut av övningsläraren/ läggs upp på canvas)
  • Labbinstruktioner (läggs upp på canvas)
  • Följande böcker rekommenderar vi för den som behöver mer material utöver ovanstående men kursen följer inte boken:
    • Boken Python Programming for the Absolute Beginner, 3rd Edition
      Michael Dawson,
      ISBN 10: 1435455002, 
      ISBN 13: 9781435455009
      BokenLänkar till en extern sida. i elektroniskt format
      Klikca härLänkar till en extern sida. för att ladda ner exempelen i boken. 
    • Starting Out with Python,  4/E
      Tony Gaddis,
      ISBN-10: 0134444329
    • ISBN-13: 978-0134444321

Examination och slutförande

Betygsskala

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

Examination

  • LAB1 - Laborationsuppgifter 1, 1,5 hp, Betygsskala: P, F
  • LAB2 - Laborationsuppgifter 2, 1,5 hp, Betygsskala: P, F
  • LAB3 - Laborationsuppgifter 3, 3,0 hp, Betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s samordnare för 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.

Avsnittet nedan kommer inte från kursplanen:

Laborationsuppgifter 1 ( LAB1 )

Laborationsuppgifter 2 ( LAB2 )

Laborationsuppgifter 3 ( LAB3 )

Möjlighet till plussning

Plussning är möjligt, men bara fram till ett år från kursomgångens start, vilket normalt sammanfaller med när nästa års motsvarande kursomgång börjar.

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

Ingen information tillagd

Fakta om kursomgång

Startdatum

Obligatoriskt innehåll saknas

Kursomgång

  • COPEN+CMATD HT 2022-51462

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter