Problem Solving & Software Development

Undergraduate | 2026

Course page banner
area/catalogue icon
Area/Catalogue
COMP 2029
Course ID icon
Course ID
205780
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

This course presents students with open-ended and complex programming problems that focus on developing their software design and implementation skills. The course will also introduce software engineering principles, and particularly approaches to software quality.

Course learning outcomes

  • Recognise the broad algorithmic category to which a problem belongs, e.g. brute-force, recursive, dynamic programming, divide-and-conquer
  • Formulate a short solution sketch to a programming problem
  • Demonstrate the ability to quickly assess the efficiency of a proposed solution with respect to expected input data
  • Build your own process of design, testing, experimentation and programming
  • Apply your own process to the timely production of solutions to a range of programming problems
  • Complete practice examples with reasonable frequency in a timely manner
  • Demonstrate the ability to reflect in detail on your own programming performance and software development processes in a frequent, timely and useful manner
  • Designing and/or selecting new practice exercises in to address gaps in performance highlighted by your reflections

Prerequisite(s)

N/A

Corequisite(s)

N/A

Antirequisite(s)

N/A