Język programowania stanowi podstawowe narzędzie informatyka. Teoria języków programowania dostarcza środków umożliwiających obiektywną ocenę i porównanie istniejących języków programowania oraz poszczególnych konstrukcji w nich występujących, a także projektowanie i implementację nowych języków z zapewnieniem pewnych własności, które są kluczowe z punktu widzenia poprawności implementacji oraz pragmatyki programistycznej. Wspiera ona także wnioskowanie o samych programach, pozwalając na ich mniej lub bardziej sformalizowaną weryfikację i optymalizację.
Przedmiot ten jest wprowadzeniem do fundamentalnych zagadnień związanych z projektowaniem, semantyką i implementacją języków programowania, prezentowanych w systematyczny i rygorystyczny sposób przy użyciu wybranego formalizmu matematycznego. Przedmiot skupia się na opisie semantyki operacyjnej oraz systemów typów najważniejszych konstrukcji językowych występujących w popularnych językach programowania, jednocześnie wprowadzając niezbędny zestaw narzędzi pozwalający na formalne wnioskowanie o językach programowania (i samych programach), konstruowanie nowych języków z zapewnieniem semantycznej poprawności ich definicji, a także implementację języków programowania opartą na ich matematycznej definicji.