Advanced Programming Language Concepts

Undergraduate | 2026

Course page banner
Mode icon
Mode
Mode
Your studies will be on-campus, and may include some online delivery
On campus
area/catalogue icon
Area/Catalogue
COMP 3009
Course ID icon
Course ID
203291
Campus icon
Campus
Adelaide City Campus East
Level of study
Level of study
Undergraduate
Unit value icon
Unit value
6
Course owner
Course owner
School of Comp Sc & IT
Course level icon
Course level
3
Work Integrated Learning course
Work Integrated Learning course
No
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

Course overview

This course aims to provide a comprehensive overview of advanced programming paradigms and methodologies. These include the design and development of programs that contain concurrency, inter-process communication and synchronisation. In addition, the course will focus on the design and development of new languages and factors influencing the acceptance of languages. By the end of the course, participants will have acquired the knowledge and skills necessary to tackle complex programming challenges with confidence and proficiency, empowering them to excel in their roles as software developers and engineers.

  • Concurrent Programming
  • Language Design and Algebraic Spec
  • Interpreter Design

Course learning outcomes

  • Design, implement, and test concurrent programs using inter-process communication, synchronisation mechanisms, and appropriate debugging tools.
  • Evaluate the performance of concurrent programming solutions across execution time, scalability, resource utilisation, and fault tolerance.
  • Apply fundamental principles of programming language design, including syntax, semantics, and data abstraction.
  • Develop formal specifications for abstract data types and programming languages using algebraic and interpreter-based approaches.

Prerequisite(s)

  • must have completed COMP2017 Data Structures and Algorithms

Corequisite(s)

N/A

Antirequisite(s)

N/A