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

DD100N Programmeringsteknik, webbkurs 6.0 hp

Kurs-PM HT 2022-10033

Version 1 – 2022-08-29 08:55:29

Kursomgång

prgwh22 (Startdatum 2022-08-29, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM HT 2022

Presentation av kursen

Denna introduktionskurs till programmering i Python är en distanskurs som har förutbestämda deadlines för inlämningar och tester, varje-varannan vecka. Kursmaterialet består av texter, kodexempel och övningar och görs individuellt. Den avslutande muntliga redovisningen av den större projektuppgiften (LAB3) är obligatorisk och bokas in av studenterna och kommer vara under kursens sista vecka (en timme/student, över Zoom, vardag på dagtid). I övrigt har kursen inga schemalagda moment utan studenterna i kursen kan arbeta med materialet när det passar de. Kursen ges för fristående studenter (d.v.s. studenter som inte är antagna till ett program).

Handledning ges endast online. Frågor om antagning, förkunskapskrav och reservplatser kan ställas till info@kth.se (KTH:s Centrala antagning) och övriga frågor kan ställas till dd100n-ka@kth.se. All antagning till kursen görs via antagning.se. För frågor om registrering, omregistrering och avbrott, kontakta  Studentexpeditionen.

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. Användning av enkla grafikrutiner (för betyget A). 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.

Detaljplanering

Denna kurs ges på distans och du kommer få tillgång till allt kursmaterial via lärandeplattformen Canvas. Du kan arbeta med kursmaterialet när du själv önskar, men inlämningsuppgifterna har förbestämda deadlines som du behöver förhålla dig till. Avsnitten kommer också i en förbestämd ordning och bygger vidare på varandra. Kursen har inga schemalagda moment, men du kommer behöva boka en redovisningstid för att presentera din avslutade projektuppgift (p-uppgiften). Redovisningen görs normalt online via Zoom men du kan också kan önska att göra den på plats på KTH. Tider kommer finnas att boka i Canvas och kommer vara under kursens sista dagar 9/1 -13/1 och 16/1 2023.

Kursens första del

Kursens första del består av 6 avsnitt, där varje avsnitt arbetas med under 1-2 veckor. Varje kursavsnitt innehåller en lektion där kursmaterialet presenteras. Detta görs främst genom förklarande text, övningsfrågor med automatisk återkoppling och kodexempel som du själv kan provköra. Till varje avsnitt finns också examinerande delar i form av ett test och en inlämningsuppgift. 

Inlämningsuppgifterna har alltid en deadline på måndag morgon kl 8:00, efter det att avsnittets datum passerat. Självklart går det bra att lämna in så långt innan deadline du vill men räkna inte med att din inlämningsuppgift blir rättat förrän deadline har passerats. Sena inlämningar rättas i mån av tid, tidigast när nästa inlämningsuppgift har haft sin deadline.

Kursens tester rättas automatiskt och ska vara avklarade för att få tillgång till nästkommande kursavsnitt. Detta är för att kursens avsnitt bygger på varandra. För att få godkänt på ett test krävs att man har rätt på samtliga frågor i testet. Du kan starta om varje test hur många gånger du vill även fast frågorna då kommer att bli lite annorlunda (men handla om samma saker).

Behöver du hjälp eller undrar något finns det diskussionsforum till varje kursavsnitt där du kan ställa frågor.

Kursens andra del

Kursens andra del börjar med en kortare lektion och ett test om grafiskt gränssnitt. Resten av kursen kommer sedan handla om en större inlämningsuppgift, en projektuppgift (så kallad p-uppgift) som ska lösas i fyra steg, där det färdiga projektet redovisas även muntligt. I den här större uppgiften får du arbeta med alla delar som du lärt dig i kursen. Tider för att redovisa projektet kommer att finnas att boka i Canvas och kommer vara under kursens sista dagar 9/1 -13/1 och 16/1 2023.

Förberedelser inför kursstart

Rekommenderade förkunskaper

Matematikkurserna från gymnasiets naturvetenskapsprogram eller motsvarande. Någon datorerfarenhet (begreppen operativsystem och fil samt erfarehet av någon tillämpning t.ex. ordbehandling) som t.ex. kursen Förberedande kurs i programmering och datalogiskt tänkande.

Kurslitteratur

Allt kursmaterial som du behöver kommer finnas tillgängligt i Canvas, ingen ytterligare kurslitteratur behövs.

Utrustning

För att läsa kursen behöver du en dator med internetuppkoppling och möjlighet att installera Python.

Examination och slutförande

Betygsskala

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

Examination

  • LAB1 - Laborationer, 1,5 hp, Betygsskala: P, F
  • LAB2 - Laborationer, 1,5 hp, Betygsskala: P, F
  • LAB3 - Laborationer, 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.

Godkänt på LAB1 och LAB2 krävs för att få redovisa delmoment i LAB3.

Avsnittet nedan kommer inte från kursplanen:

LAB1 - Laborationer, 1,5 hp

- utgörs av 6 mindre inlämningsuppgifter.

 

LAB2 - Laborationer, 1,5 hp

- utgörs av 7 tester.

 

LAB3 - Laborationer, 3,0 hp

 -utgörs av en större individuell uppgift, som löses i flera steg.

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.

Betygskriterier

Kursbetyget sätts av den större individuella uppgiften (p-uppgiften, LAB3).

Betygskriterierna för uppgiften är:

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 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, konstruera funktioner för dessa och undvika kodupprepning,
  • 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:

  • 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 så att det 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.

Ytterligare Information

Ingen information tillagd

Fakta om kursomgång

Startdatum

Obligatoriskt innehåll saknas

Kursomgång

  • prgwh22 HT 2022-10033

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter

Kommunikation i kursen

För att komma i kontakt med kursansvarig , skicka gärna meddelande via Canavs. Annars går det även bra att använda mail-adressen dd100n-ka@kth.se 

Om du har generella frågor om KTH, exempelvis om KTH-konto och kursregistrering, kan du ställa de till info@kth.se. Om du skulle behöva studievägledning under kursensgång kan du också maila info@kth.se. Skriv då att att du läser DD100N som en fristående kurs och att du önskar studievägledning.

Kursansvarig

Lärare

Examinator