Deltagerne skal forstå en række fundamentale begreber og teknikker til konstruktion og analyse af effektive algoritmer og datastrukturer. De skal endvidere forstå forskellige principper for programmeringssprog. De skal kunne konstruere simple virtuelle maskiner og oversættere.
Kursusindhold:
- Præsentation af en række fundamentale algoritmer og datastrukturer til bl.a. sortering og søgning. - Rekursion. Analyse af algoritmers effektivitet. O-notation. - Virtuelle maskiner contra oversættelse. Principper for konstruktion af oversættere/virtuelle maskiner: leksikal analyse, syntaksanalyse, semantisk analyse, kodegenerering. - Anvendelse og implementering af de indlærte principper til at løse praktiske opgaver, som en simpel virtuelle maskine og en oversætter for den maskine. - Konkret gennemgang af flere programmeringssprog. Imperative sprog, Funktionssprog, logiksprog
Bemærkninger:
Den teoretiske del af algoritmelæren vil have undervisningsfællesskab med kurset 02105 torsdag formiddag.