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

DD1327 Grundläggande datalogi 6.0 hp

Kurs-PM VT 2024-60242

Version 1 – 2024-03-17 14:23:15

Kursomgång

grudat24 (Startdatum 2024-03-18, Svenska)

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kurs-PM VT 2024

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

Innehåll och lärandemål

Kursinnehåll

Algoritmer och datastrukturer: En systematisk genomgång av begreppen abstrakta datatyper, stackar, köer, listor, träd, sökning, sortering och rekursion utgående från de kunskaper studenterna förvärvat i kursen Grundläggande programmering. Hashning, prioritetsköer, sökträd och problemträd, textsökning, enkel syntaxanalys, kryptering, automater. Algoritmanalys.

Programmering: Programutvecklingsmetodik, programkvalitet, abstraktion, modularisering, testning, systemanrop, standardbibliotek.

Lärandemål

Efter fullgjord kurs ska studenten kunna:

  • systematiskt testa program för att upptäcka fel,
  • använda abstraktion som ett verktyg för att förenkla programmeringen,
  • välja lämplig algoritm till ett givet problem,
  • beskriva olika algoritmer för sökning, sortering och kryptering samt deras egenskaper,
  • modellera problem med grafer och implementera algoritmer för grafsökning,
  • implementera och använda grundläggande datastrukturer,
  • konstruera och analysera enkla algoritmer med datastrukturer,

i syfte att:

  • bli bra på att lösa problem med programmering,
  • kunna använda datalogiska metoder i tillämpningsprojekt och
  • få tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.

Läraktiviteter

I kursen finns fyra typer av aktiviteter varav tre utgörs av schemalagda tillfällen:

Föreläsningar Tvåtimmarssessioner i helklass med genomgångar, frågor och uppgifter att lösa.

Övningar Obligatoriska tvåtimmarspass i delgrupp där veckans hemuppgifter presenteras muntligen för och diskuteras med kurskamrater. Läraren kan också välja att ha genomgångar eller extrauppgifter om sådana saker som är lämpliga för tillfället.

Hemuppgifter Skriftliga individuella inlämningsuppgifter som presenteras på övningarna. Dessa utgör kursens examination. Den sista uppgiften är ett lite större projekt med avvikande betygsättning jämfört med de tidigare uppgifterna.

Laborationer Schemalagda tvåtimmarspass då det finns möjlighet att få hjälp med hemuppgifterna av kursens lärare. Dessa tillfällen är inte till för redovisning av hemuppgifter utom ifall det på förhand gjorts upp med respektive lärare.

Labbar och individuell hjälp

Labbarna är till för att ni ska kunna ställa frågor om veckans inlämningsuppgift. Labbarna sker antingen på plats eller via Zoom på de schemalagda tiderna. Ställ dig i grudat-kön så får du en inbjudan när det blir din tur.

EECSs allmänhandledare hjälper också till med programmeringsfrågor och andra problem två gånger dagligen varje vardag under terminstid, oftast 11–13 och 17–20. 

Förberedelser inför kursstart

Rekommenderade förkunskaper

Motsvarande DD1331 Grundläggande programmering och SF1672 Linjär algebra. 

Särskilda förberedelser

Kursen använder inte Canvas utom för gruppindelning, kommunikation och betygsrapportering. Preliminär lista över föreläsningarnas ämnen med tillhörande förberedelser publiceras och uppdateras löpande på https://www.kth.se/social/course/DD1327/

Hemuppgifterna länkas också från https://www.kth.se/social/course/DD1327/, men de kommer er till del automatiskt i era respektive repositories via GitHub.

Övning x på kursen ska lämnas in i katalogen username-ovnx i organisationen grudat24 på KTH GitHub. Användaren nisse hittar alltså sin katalog för övning 1 på adressen

  • gits-15.sys.kth.se/grudat24/nisse-ovn1

Om ni loggar in på KTH GitHub för första gången så kan det ta någon dag innan ni kommer åt era kataloger.

Övningsgrupper

Övningsgrupp 1-3 har den tidigare av veckans tider, övningsgrupp 2 har den senare. Vi tillämpar fasta grupper så att vi inte behöver göra legitimationskontroller på alla varje gång.

Titta i schemat om ni har några preferenser.
I Canvas finns möjlighet att skriva upp sig på en övningsgrupp (om den inte är full)

Kurslitteratur

Det finns ingen obligatorisk kursbok på papper. Du hittar all kurslitteratur via länkarna ifrån föreläsningarna. Du kan också ha nytta av de här sajterna och böckerna om du vill lära dig mer om algoritmer och programvaruteknik.

Examination och slutförande

Betygsskala

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

Examination

  • IND1 - Individuell hemuppgift, 2,0 hp, Betygsskala: A, B, C, D, E, FX, F
  • LAB1 - Laborationsuppgifter, 4,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.

Avsnittet nedan kommer inte från kursplanen:

Kursen examineras med individuella skriftliga inlämningsuppgifter som redovisas muntligt i samband med de obligatoriska övningarna. Övningarna betygssätts med G/VG och slutbetyget beräknas så här:

A 6 G 5-6 VG
B 6 G 4 VG
C 6 G 3 VG
D 5 G 2 VG
E 5 G 0-1 VG
Fx 4 G  
F 0-3 G  
  • IND1 2hp är ett graderat betyg baserat på övning 1-6,
  • LAB1 4hp är projektet och bedöms med P/F.

Övriga krav för slutbetyg

Godkända laborationer och individuell hemuppgift.

Möjlighet till komplettering

En enstaka övning som kommer att missas kan redovisas vid annan tidpunkt enligt överenskommelse med gruppens lärare.  Detta ska göras upp i förväg med läraren för gruppen. 

Ifall den skriftliga eller muntliga redovisningen har genomförts med mindre brister kan dessa kompletteras enligt lärarens anvisningar för att uppnå godkänt betyg.

Möjlighet till plussning

Det erbjuds inte möjlighet till plussning.

Resultatrapportering

Kommentarer till den skriftliga inlämningen ges via GitHub issues och resultaten efter rättning och presentation kommer att rapporteras i Canvas.

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.

Avsnittet nedan kommer inte från kursplanen:

  • Att hjälpa studiekamrater som kört fast i en uppgift är positivt och lärorikt för både den student som får och den som ger hjälp, men man ska inte visa upp hela sin lösning eller dela sina lösningar publikt. (Det går inte att "ose" något man har sett.)

Identitetskontroll

Vid varje övningstillfälle ska du vara beredd att visa legitmation.

Ytterligare Information

Ingen information tillagd

Fakta om kursomgång

Startdatum

2024-03-18

Kursomgång

  • grudat24 VT 2024-60242

Undervisningsspråk

Svenska

Kursen ges av

EECS/Datavetenskap

Kontakter