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).
Stöd för studenter med funktionsnedsättning
Om du har en funktionsnedsättning kan du få stöd via Funka:
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,
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.