DD1320 Tillämpad datalogi 6,0 hp

Applied Computer Science

En grundläggande kurs i datalogi.

  • Utbildningsnivå

    Grundnivå
  • Huvudområde

    Informationsteknik
    Teknik
  • Betygsskala

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

Kurstillfällen/kursomgångar

VT19 tildav19 för programstuderande

HT19 tildah19 för programstuderande

VT20 tildav20 för programstuderande

HT18 tildah18 för programstuderande

Lärandemål

I den här kursen bygger studenten på sina kunskaper om algoritmer, datastrukturer och programmering. Programspråk i kursen är Python.

Efter genomförd kurs ska studenten kunna följande:

  • 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,
  • 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,
  • skriva en liten BNF-syntax (mindre än 10 regler) för ett formellt språk och skriva ett program som undersöker om ett uttryck följer en BNF-syntax,
  • 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 dom används,
  • konstruera en automat för textsökning och beskriva hur den fungerar,
  • 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,
  • använda enkla krypteringsmetoder, och förklara principerna för assymetrisk kryptering
  • identifiera problem där datastrukturerna ovan är användbara och konstruera enkla algoritmer med dessa,

för att du ska:

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

Kursens huvudsakliga innehå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 i Programmeringsteknik. Hashning. Prioritetsköer. Sökträd. Problemträd. Textsökning. Enkel syntaxanalys. Algoritmanalys. Kryptering.

Programmering: Programkvalitet. Abstraktion. Modularisering. Testning. Systemanrop. Standardmoduler.

Behörighet

För fristående kursstuderande: grundläggande högskolebehörighet samt 7,5 hp i matematik och 6 hp datalogi eller programmeringsteknik.

Rekommenderade förkunskaper

Motsvarande DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD100N Programmeringsteknik.

Litteratur

Meddelas senast 4 veckor före kursstart på kursens hemsida. Senaste kursomgång användes “Problem Solving with Algorithms and Data Structures Using Python” av Bradley N. Miller & David L. Ranum.

Examination

  • LABD - Programmeringsuppgifter, 3,0, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Skriftlig tentamen, 3,0, betygsskala: A, B, C, D, E, FX, F

I denna kursomgång tillämpas skolans hederskodex, se: http://www.kth.se/csc/student/hederskodex.

Om särskilda skäl finns kan annan examinationsform användas.

Ges av

EECS/Datavetenskap

Kontaktperson

Linda Kann, tel:790 9276, e-post: lk@kth.se

Examinator

Alexander Baltatzis <alba@kth.se>

Linda Kann <lk@kth.se>

Sten Andersson <stene@kth.se>

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

Påbyggnad

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

Versionsinformation

Kursplan gäller från och med VT2019.
Examinationsinformation gäller från och med VT2019.