Hoppa till huvudinnehållet

Inför kursval

En grundläggande kurs i datalogi och programmeringspraktik.

Välj termin och kursomgång

Välj termin och kursomgång för att se information från rätt kursplan och kursomgång.

* Informationen tillhör Kursplan DD1321 (HT 2021–)

Innehåll och lärandemål

Kursinnehåll

Programmering i Python. Programkvalitet. Abstraktion. Modularisering. Testning och felsökning. Versionshantering. Systemanrop. Biblioteksrutiner. Elementär webbprogrammering.

En systematisk genomgång av begreppen abstrakta datatyper, stackar, köer, listor, träd, sökning, sortering och rekursion. Hashning. Prioritetsköer. Sökträd. Problemträd. Textsökning. Algoritmanalys.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • skriva strukturerade program på några sidor i programspråket Python
  • systematiskt felsöka program
  • skriva automatiserade testprogram
  • använda abstraktion som ett verktyg för att förenkla programmeringen
  • använda prototypprogrammering i Python
  • skriva fristående komponenter
  • använda ett webb-API (programmeringsgränssnitt)
  • välja lämplig algoritm till ett givet problem
  • jämföra algoritmer med avseende på tids- och minnesåtgång
  • beskriva olika algoritmer för sökning och sortering och deras egenskaper
  • formulera och implementera rekursiva algoritmer
  • modellera problem som sökproblem och implementera algoritmer för breddenförstsökning, djupetförstsökning och bästaförstsökning
  • beskriva grundläggande komprimeringsalgoritmer och vid vilka typer av komprimering de används
  • implementera stackar och köer samt använda dessa
  • implementera insättnings-, genomgångs- och sökoperationer i binära sökträd och allmänna träd samt använda dessa
  • implementera hashtabeller och hashfunktioner samt använda dessa
  • använda prioritetsköer
  • identifiera problem där datastrukturerna ovan är användbara och konstruera enkla algoritmer med dessa

i syfte att

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

Kursupplägg

Ingen information tillagd

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper och färdigheter i grundläggande programmering, 3 hp, motsvarande slutförd kurs SF1511/SF1516/SF1518/SF1519/SF1521.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs.

Den som är registrerad anses vara aktivt deltagande.

Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

Rekommenderade förkunskaper

Ingen information tillagd

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

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

Examination

  • KONT - Kontrollskrivningar, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • LABD - Programmeringsuppgifter, 3,0 hp, betygsskala: A, B, C, D, E, FX, F
  • LABP - Programmeringsuppgifter, 3,0 hp, betygsskala: P, 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.

Digital tentamen används för högre betyg på KONT.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Profile picture Alexander Baltatzis

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

Kurswebb

Ytterligare information om kursen kan hittas på kurswebben via länken nedan. Information på kurswebben kommer framöver flyttas till denna sida.

Kurswebb DD1321

Ges av

EECS/Datavetenskap

Huvudområde

Teknik

Utbildningsnivå

Grundnivå

Påbyggnad

Fortsättningskurser är bland annat DD2350 Algoritmer, datastrukturer och komplexitet, DD1418 Språkteknologi, DD1334 Databasteknik, DD1377 Maskinnära programmering och datorarkitektur, DD1420/DD2421 Maskininlärning och DH2323 Datorgrafik med interaktion. Dessutom DD1380 Javaprogrammering för Pythonprogrammerare följd av DD1385 Programutvecklingsteknik eller DD1389 Internetprogrammering.

Kontaktperson

Alexander Baltatzis, tel: 790 6209, e-post: alba@kth.se

Övergångsbestämmelser

TEN1 har ersatts av KONT.

Övrig information

Endast en av följande kurser får räknas med i examen: DD1320, DD1321, DD1325, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex