Programming theory is the backbone of software development, exploring the design and analysis of languages and tools that ensure efficient, secure and reliable software across critical domains.
Software, programming tools and frameworks change constantly. What stays relevant are the fundamentals. In this major, you’ll go beyond writing code to understand how software works beneath the surface, from programming language design and compilers to program analysis, concurrency and formal reasoning.
This major is ideal if you enjoy analytical thinking, problem solving and understanding why software behaves the way it does. You'll learn from academics with expertise in computing’s core principles, and build the kind of technical maturity employers value.
You’ll explore how developers create software that's reliable, efficient and easier to adapt, while building the technical depth to solve complex computing problems.
Your studies may include:
- functional programming
- logic programming
- compilers
- formal methods
- program analysis
- concurrency
- algorithms
- optimisation.
These concepts can support work across software development, artificial intelligence, cyber security, robotics, embedded systems, distributed systems and compiler design.
By focusing on the ideas behind programming languages and systems, you’ll build the adaptability to keep learning as technologies change and the confidence to make strong technical decisions.
Career possibilities
Our programs prepare you for your first job and beyond. Here are some of the careers you could be on your way to:
- Software engineer
- Developer programmer
- Software architect
- Research scientist
- Analyst programmer
- Cyber security analyst
Average annual salary range
Systems Analyst
seek.com.au
Next steps after graduation
Your knowledge of programming languages, systems and theory can support work across software development, technology consulting, research and advanced computing.
Stories
See all stories
Uni life
What's it really like to study computer science at UQ?
7-minute read

Study tips
UQ science scholarships to help fund your studies
8-minute read
Stories
See all stories
Uni life
What's it really like to study computer science at UQ?
7-minute read

UQ people
From firefighting robots to rocket science: Vennkkata’s UQ experience
5-minute read

Study tips
UQ science scholarships to help fund your studies
8-minute read
How you'll learn
Your learning experiences are designed to best suit the learning outcomes of the courses you choose.
- Lectures
- Tutorials
- Workshops
What you'll study
At UQ, subjects are called 'courses'. Here's a sample of the courses you could study:
- Principles of Program Analysis
- Functional and Logic Programming
- Operating Systems Architecture
- Web/Mobile Programming [Core course]
Helpful advice, right when you need it
Get useful info to help you navigate the confusing parts of getting into uni. Scholarship reminders, access to events and experiences, and advice from real students.
Sign up for updates. (No spam! We promise.)
