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

DD1331 Grundläggande programmering 5.0 hp

Kurs-PM HT 2022-50203

Version 1 – 2022-09-05 04:52:55

Kursomgång

CTFYS (Startdatum 2022-08-29, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2022

Presentation av kursen

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

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

  • klassificera syntaktiska element i programkod med rätt terminologi
  • identifiera och tillämpa grundläggande datatyper, klasser och typkonverteringar
  • tillämpa och felsöka flödeskontroll samt logiska och aritmetiska uttryck
  • analysera en variabels räckvidd och livslängd
  • grafiskt beskriva kopplingen mellan variabelnamn, typer och data
  • felsöka korta program skrivna av andra
  • skriva och felsöka längre program
  • skriva en specifikation för ett längre program
  • dela upp ett problem i hanterliga delar
  • dela upp ett program i hanterliga delar
  • använda och utvärdera god programmeringspraxis
  • implementera, felsöka och med rätt terminologi beskriva rekursiva algoritmer
  • kombinera programspråkets inbyggda funktioner med egna funktioner för att lösa programmeringsproblem

i syfte att

  • kunna utföra beräkningar och lösa programmeringsproblem
  • vara förberedd för fortsättningskursen i datalogi.

För högre betyg ska studenten dessutom kunna

  • implementera ett interaktivt grafiskt användargränssnitt.

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). DD1301 Datorintroduktion rekommenderas och kan läsas parallellt.

Kurslitteratur

Introduction to programming in Python av Sedgewick, Wayne och Dondero.

Programvara

Något av de tre vanligaste operativsystemen för desktopar rekommenderas. Windows, Linux eller macOS 10/11. ChromeOS rekommenderas inte.

Någon av de vanligaste terminalerna krävs. På Mac och Linux är dessa redan installerade. På Windows 10/11 är den bästa terminalen "Terminal" från Windows store. Installera WSL 2, Windows Subsystem for Linux version 2 och installera till sist Ubuntu 22.04, också från Microsoft Store.

Git krävs. På Mac kan du installera Git med hjälp av Xcode-tools som finns på app store. På Ubuntu Linux kan du installera git med "$sudo apt install git" i en terminal. På Windows rekommenderas Git Bash, alternativt att köra git via Ubuntuterminalen med instruktioner enligt denna.

Python3 används på alla examinerande moment i kursen: labbar, kontrollskrivning, ceriseprov och P-uppgift. Vi använder cpython, dvs den version som installeras från Pythons hemsida för Windowsanvändare. Den är förinstallerad på Linux och Mac.

En editor krävs. Populära editorer är Visual Studio Code, Atom och Sublime text. Det är tillåtet att använda en komplett utvecklingsmiljö som exempelvis PyCharm från Jetbrains. Äldre programmerare använder ibland Emacs eller Vim. Den krångligaste är Vim. Den enklaste och populäraste är Visual Studio code. I grundkursen vinner du inte mycket på att byta editor om du inte har valt Vim.

Examination och slutförande

Betygsskala

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

Examination

  • KONT - Kontrollskrivning, 1,0 hp, Betygsskala: P, F
  • LAB1 - Laboration, 2,0 hp, Betygsskala: P, F
  • PRO1 - Individuellt programmeringsprojekt, 2,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.

Möjlighet till plussning

Denna kurs erbjuder inte plusning.

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

Ändringar inför denna kursomgång

En extra inlämning har lagts in i kursens slut. Det blir ett ceriseprov som är som kontrollskrivningen men betydligt enklare. I denna inlämning ingår även en reflektionsdel.

Vissa föreläsningar i kursen, men inte den första kommer att ha videos som förberedande material för att utgöra flippat klassrum.