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.
Programvara
I kursen används Python 3 (t.ex. version 3.10.6) och editorn IDLE som följer med när du laddar ner Python från https://www.python.org/downloads/
Stöd för studenter med funktionsnedsättning
Om du har en funktionsnedsättning kan du få stöd via Funka:
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.
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
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.
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.