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, enkel syntaxanalys och reguljära uttryck.
Algoritmanalys med avseende på både effektivitet och korrekthet. Korrekthetsbevis.
Programmering: programutvecklingsmetodik, programkvalitet, abstraktion, modularisering, testning, systemanrop, standardbibliotek.
Efter godkänd 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
− designa och dokumentera programpaket som andra programmerare kan använda
− välja lämplig algoritm till ett givet problem
− jämföra algoritmer med avseende på tids- och minnesåtgång
− beskriva och implementera olika algoritmer för sökning och sortering
− modellera problem med grafer och implementera algoritmer för grafsökning
− formulera och implementera rekursiva algoritmer
− skriva och använda enkel BNF-syntax
− implementera och konstruera algoritmer för grundläggande datastrukturer
− avgöra korrekthet för iterativa och rekursiva algoritmer
− konstruera och använda reguljära uttryck
i syfte att
− bli bra på att lösa problem med programmering
− kunna använda datalogiska metoder i tillämpningsprojekt
− kunna gå fortsättningskurser i beräkningsmatematik, maskininlärning och teoretisk datalogi.