Scalable Software Systems Design and Architecture

Undergraduate | 2026

Course page banner
area/catalogue icon
Area/Catalogue
INFO 4001
Course ID icon
Course ID
200141
Level of study
Level of study
Undergraduate
Unit value icon
Unit value
6
Course level icon
Course level
4
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

This course will equip students with practical skills and knowledge to build scalable, reliable and robust software systems. Students will learn about scalable architectures, database scaling, architecture design patterns and load testing methods.

Course learning outcomes

  • Evaluate different architectures for scalability, considering their strengths and weaknesses in meeting varying workload demands
  • Analyse design patterns and optimisation techniques for building large software systems that can scale effectively
  • Apply database scaling, including sharding, replication, and partitioning to real world scenarios
  • Select appropriate caching strategies based on workload characteristics and their role in improving scalability
  • Evaluate techniques for load testing large-scale systems
  • Apply approaches for building fault-tolerant systems, including redundancy, error handling, and graceful degradation

Prerequisite(s)

Corequisite(s)

N/A

Antirequisite(s)

N/A