Hoppa till huvudinnehållet
Till KTH:s startsida

DD1319 Programmeringsteknik 8.0 hp

Kurs-PM HT 2024-50585

Version 1 – 2024-08-18 15:55:38

Kursomgång

prgcl24 (Startdatum 2024-08-26, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2024

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

Innehåll och lärandemål

Kursinnehåll

Grundläggande datatekniska begrepp. Programmering i ett modernt programspråk (Python). Datastrukturer. Användning av enkla grafikrutiner. 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. Introduktion till HTML och CSS. Introduktion till webbprogrammering med till exempel Javascript.

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 och klasser
  • överföra data mellan fil och program
  • granska andras program
  • skapa statiska och dynamiska webbsidor
  • utveckla enkla webbtillämpningar

i syfte att kunna

  • använda programmering för att lösa problem och i undervisning i gymnasiet
  • 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 lösa problem genom att konstruera program på upp till femhundra rader i ett modernt programspråk
  • konstruera en enkel dynamisk webbsida.

Läraktiviteter

I schemat finns föreläsningar, laborationer och övningar. Det är obligatorisk närvaro på laborationer och övningar.  

Meddela din övningsassistent snarast om du inte kan delta på veckans labb eller övning, så får du en ersättningsuppgift.

LAB1: Laborationer (1,5hp) Sju Python-labbar

Kursens första moment, LAB1, tar upp grunderna i programmering och programspråket Python.

Varje vecka ska du (tillsammans med din labbkompis) göra:

  • en läxa
  • en laboration med 
    • programkod
    • peer review

LAB2: Prov (1,5 hp) Skriftligt prov på grunderna

Kursens andra moment, LAB2, är ett skriftligt prov (står som Kontrollskrivning i schemat).

LAB3: P-uppgift (3hp) P-uppgiften - större individuell programmeringsuppgift

Kursens tredje moment, LAB3, är en större, personlig programmeringsuppgift i Python; en P-uppgift. Du får inte samarbeta med någon annan i arbetet med uppgiften. Uppgifterna är tänkta att vara något så när svåra och tidskrävande, räkna med ca 80 timmar. Betyget i kursen ges av detta moment.

P-uppgiften redovisas i fyra steg, specifikation, prototyp, granskning och slutredovisning. Du måste boka en tid för slutredovisningen.

Det finns många olika uppgifter, och du får inte göra samma uppgift som någon annan i din grupp. Uppgiftslydelsen kvitterar du ut hos din assistent i slutet av november.

LAB4: Webbdel (2hp) Tre labbar med quiz och en projektuppgift

Kursens fjärde moment, LAB4, handlar om HTML, CSS och webbprogrammering. Detta moment är upplagt ungefär som LAB1 med labbar (i grupper om två) och läxförhör, och avslutas med en projektuppgift (där hela övningsgruppen samarbetar).

Förberedelser inför kursstart

Kurslitteratur

  • Möbius-materialet som finns i kursrummet fungerar som en kortfattad bok på svenska.
  • För dig som vill ha en mer omfattande bok rekommenderar vi Tony Gaddis: Starting Out with Python, Global Edition. (läsanvisningar finns i Kursöversikten).

Examination och slutförande

Betygsskala

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

Examination

  • LAB1 - Datorlaborationer, 1,5 hp, Betygsskala: P, F
  • LAB2 - Datorprov, 1,5 hp, Betygsskala: P, F
  • LAB3 - Datorlaborationer, 3,0 hp, Betygsskala: A, B, C, D, E, FX, F
  • LAB4 - Datorlaborationer, 2,0 hp, Betygsskala: P, 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.

LAB3 är ett individuellt programmeringsprojekt.

Avsnittet nedan kommer inte från kursplanen:

Bonuspoäng

Moment   maxbonus
LAB1

1 bonuspoäng för varje lab (av labb 1-6) som redovisas och lämnas in i tid

1 bounspoäng för varje OLI-modul (modul 1-10) som gjorts i tid.

16
LAB2 1 bonuspoäng för att ha klarat provet v. 48 (inklusive komplettering) 1
LAB3

4 bonus för specen, 4 bonus för prototyperna (om godkända i tid)

8
LAB4

1 bonuspoäng för varje lab (labb W1-W3) som lämnas in i tid

1 bonuspoäng för varje Quiz som görs i tid

6
Totalt   31

22 bonuspoäng eller mer ger ett stegs höjning av betygen E, D, C och B.

Målrelaterade betygskriterier/bedömningskriterier

Eftersom kursen utvecklas från år till år och betygssytemen därmed justeras kan vi endast garantera betygssystemets giltighet i ett år framåt. Detta är vad som gäller för kursen som startar under läsåret 2024/2025

Betyget på kursen avgörs av P-uppgiften.

för betyg E ska du visa att du kan:

  • följa reglerna i programspråkets syntax,
  • tillämpa och redogöra för regler för god programmeringsstil (såsom användarvänlighet,
  • kommentarer, felhantering, strukturering, flexibilitet),
  • upptäcka och korrigera programmeringsfel,
  • modifiera givna program,
  • överföra data mellan fil och program,
  • identifiera behovet av och använda styrstrukturer (villkorssatser och slingor),
  • dela upp ett större problem i hanterliga delar och konstruera funktioner för dessa,
  • använda de datastrukturer som finns inbyggda i programspråket, samt välja datastrukturer som
  • passar för det aktuella problemet,
  • använda och konstruera egna klasser,
  • granska andras program

för betyg D ska du dessutom visa att du kan:

  • följa en given tidsplan för arbetet (bli klar i tid),
  • skriva ett perfekt program som i alla avseenden uppfyller givna krav

för betyg C ska du dessutom visa att du kan:

  • infoga felhantering för att få ett program som inte kraschar för felaktiga indata

för betyg B ska du dessutom visa att du kan:

  • konstruera och implementera en svårare algoritm

för betyg A ska du dessutom visa att du kan:

  • sätta dig in i och använda en större modul (t ex tkinter, pygame, urllib) för att utveckla ditt program

Möjlighet till plussning

På KTH kan man ofta få tenta om för att få högre betyg fast tentan redan är godkänd. I kurser som denna där betyget ges av andra typer av examination är detta inte så vanligt (av kostnadsskäl). Följande regler gäller i denna kurs:

  • Den som har redovisat sin P-uppgift före deadline kan efter det höja sitt betyg, men bara inom ett år från kursstart.
  • Krav för betygen framgår av kursprogrammet. Man kan behöva förbättra programkvalitén eller göra vissa extrauppgifter.
  • Redovisningen görs vid något av uppsamlingstillfällena för P-uppgifter.

Man har alltså bara ett år från kursstart på sig att höja sitt betyg, sen är det försent.

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

Hjälp

Utöver den hjälp du kan få av kursens lärare, så kan du få hjälp av allmänhandledningen.

Fakta om kursomgång

Startdatum

2024-08-26

Kursomgång

  • prgcl24 HT 2024-50585

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter

Kursansvarig

Lärare

Examinator