Language Models, Translation and Execution

Undergraduate | 2026

Course page banner
area/catalogue icon
Area/Catalogue
COMP 2001
Course ID icon
Course ID
200077
Level of study
Level of study
Undergraduate
Unit value icon
Unit value
6
Course level icon
Course level
2
Study abroad and student exchange icon
Inbound study abroad and exchange
Inbound study abroad and exchange
The fee you pay will depend on the number and type of courses you study.
Yes
University-wide elective icon
University-wide elective course
Yes
Single course enrollment
Single course enrolment
Yes
alt
Note:
Course data is interim and subject to change

Course overview

The course aims to prepare learners with the theoretical knowledge and concepts underpinning programming languages, and to grow practical skills for developing software for translation and execution of programming languages. Based on the understanding and skills of software development, the course will build knowledge on theoretical framework of programming language, including language types, syntax, grammar, and automata. Building upon the theoretical knowledge, learners will develop skills for writing software to process, translate, and execute programming languages.

  • Language Theory
  • Automata Theory
  • Language Processing

Course learning outcomes

  • Compare language types and formulate the grammars and expressions of a language
  • Analyse the behaviour of finite state machines, pushdown automata, and Turing machines
  • Create computational models for processing languages using finite state machines and automata
  • Implement token recognisers and parsers based on language models

Prerequisite(s)

Corequisite(s)

N/A

Antirequisite(s)

N/A