Der findes forskellige slags programmeringssprog: imperative sprog (f.eks. C), objekt-orienterede sprog (f.eks. Java, Smalltalk), og funktionssprog (f.eks. Lisp, Scheme, Standard ML); statisk typede sprog (Java, Standard ML) og dynamisk typede sprog (Lisp, Scheme). Kursets andet hovedemne er at belyse de forskellige slags sprog ved hjælp af fortolkere, dvs. programmer der udfører andre programmer.
Et program skrevet i f.eks. C, Java eller Standard ML skal oversættes til maskinkode før det kan udføres på datamaskinen. Oversættelsen sker typisk i faser: syntaksanalyse, statiske tjek (typetjek), og generering af maskinkode. Kursets tredje hovedemne er statiske tjek og generering af maskinkode til (abstrakte) maskiner, herunder Java Virtual Machine eller Microsoft Intermediate Language (en del af .NET platformen).
Kurset bruger funktionssproget Standard ML til at præsentere de forskellige emner, da det er særlig velegnet til dette formål. Du skal altså også lære Standard ML i dette kursus.
Forelæsninger, ugentlige opgaver, øvelser med øvelsesvejleder.Det er muligt efter kurset at lave et fireugersprojekt omkonstruktion af en oversætter for et model-programmeringssprog.
Skriftlig eksamen med bøger, noter osv. men uden datamat.