Grundläggande algoritmer och datastrukturer: 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, grafer, sökalgoritmer som bredden först och djupet först-sökning och binärsökning, sorteringsalgoritmer, enkel syntaxanalys och reguljära uttryck.
Algoritmanalys med avseende på både effektivitet och korrekthet. Korrekthetsbevis.
Programmering: programutvecklingsmetodik, versionshantering, programkvalitet, abstraktion, testning, 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
- analysera och jämföra algoritmer med avseende på tids- och minnesåtgång
- avgöra korrekthet för iterativa och rekursiva algoritmer
- beskriva och implementera grundläggande algoritmer och datastrukturer
- ta fram, dvs välja, kombinera och med ledning modifiera eller konstruera, lämplig algoritm och datastruktur för att lösa ett givet problem
- konstruera och använda reguljära uttryck och enkel BNF-syntax
- använda versionshantering för programutvecklingsprocessen
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.