Hoppa till huvudinnehållet

DD1321 Tillämpad programmering och datalogi 9,0 hp

En grundläggande kurs i datalogi och programmeringspraktik.

Välj termin och kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Kursval

Gäller för kursomgång

HT 2024 tilpro24 programstuderande

Anmälningskod

50154

Rubriker med innehåll från kursplan DD1321 (HT 2024–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Programmering: Imperativ och objektorienterad programmering i Python. Programmeringsmetodik. Programkvalitet. Testning och felsökningsstrategier. Modularisering. Abstraktion. Programmeringsgränssnitt.

Algoritmer och datastrukturer: En systematisk genomgång av datalogiska begrepp: abstrakta datatyper, algoritmanalys, rekursion, stackar, köer, listor, sökning, sortering, hashning, prioritetsköer, träd, sökträd, problemträd, textsökning, enkel syntaxanalys, kryptering.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • skriva strukturerade program utan kodupprepning i Python
  • använda och konstruera sammansatta datatyper och klasser
  • utforma och presentera användarvänliga utdata
  • överföra data mellan fil och program
  • systematiskt felsöka och testa program
  • använda abstraktion som ett verktyg för att förenkla programmeringen
  • använda programmeringsgränssnitt
  • välja lämplig algoritm till ett givet problem
  • jämföra algoritmer med avseende på tids- och minnesåtgång
  • implementera olika algoritmer för sökning och sortering och redogöra för 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, köer, binära sökträd, allmänna träd, hashtabeller och hashfunktioner samt använda dessa
  • använda prioritetsköer
  • använda enkla krypteringsmetoder, och förklara principerna för asymmetrisk kryptering
  • använda algoritmer för textsökning, reguljära uttryck och BNF-syntax
  • 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
  • få tillräckliga förkunskaper för att kunna läsa fortsättningskurser i datalogi.

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 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.

För högre betyg på KONT görs muntlig examination eller datortentamen. Vilken av examinationsformerna som kommer att användas anges i kurs-PM.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

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

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

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