Unit rationale, description and aim

Skills in object-oriented programming are a crucial component of practical expertise in digital technology (computing).

This unit provides the foundations of object-oriented programming through real-world examples and problems. Students acquire practical skills in object-oriented programming and software project management and apply their computational and design-oriented skills to the creation of interactive software designed to address real-world challenges. Students will develop their design solutions in the context of their growing awareness of the social impact of computing technologies.

The aim of this unit is to give students the opportunity to extend their experience in software design and programming skills and to explore the application of this knowledge in a variety of settings.

2025 10

Campus offering

Find out more about study modes.

Unit offerings may be subject to minimum enrolment numbers.

Please select your preferred campus.

  • Term Mode
  • Semester 1Campus Attendance

Prerequisites

COMP108 Fundamentals of Programming Design

Learning outcomes

To successfully complete this unit you will be able to demonstrate you have achieved the learning outcomes (LO) detailed in the below table.

Each outcome is informed by a number of graduate capabilities (GC) to ensure your work in this, and every unit, is part of a larger goal of graduating from ACU with the attributes of insight, empathy, imagination and impact.

Explore the graduate capabilities.

Define object-oriented programming principles and ...

Learning Outcome 01

Define object-oriented programming principles and apply them to solve real-world problems
Relevant Graduate Capabilities: GC1, GC2, GC6, GC8, GC10

Design class diagrams and algorithms

Learning Outcome 02

Design class diagrams and algorithms
Relevant Graduate Capabilities: GC1, GC2, GC3, GC10

Select and use an object-oriented programming lang...

Learning Outcome 03

Select and use an object-oriented programming language in the development of software programs
Relevant Graduate Capabilities: GC1, GC2, GC8, GC9, GC10

Evaluate algorithm and programming code using test...

Learning Outcome 04

Evaluate algorithm and programming code using test data to check for desired outcome
Relevant Graduate Capabilities: GC1, GC2, GC3, GC6, GC7, GC8, GC10

Plan and manage software projects using an iterati...

Learning Outcome 05

Plan and manage software projects using an iterative and collaborative approach, identifying risks and considering ethics, safety and sustainability
Relevant Graduate Capabilities: GC1, GC2, GC4, GC6, GC7, GC8, GC10

Content

Topics will include:

Module 1-Programming techniques – LO1

  • Sequence, selection and repetition,
  • Inheritance, Polymorphism, Recursion
  • Arrays
  • Classes and methods

Module 2-Program Design- LO1, LO2

  • Class diagram
  • Algorithms

Module 3- Software Development Life Cycle -LO1, LO2, LO3, LO4, LO5

  • Software Project Management -design, development, evaluation and documentation of software solutions

Assessment strategy and rationale

The problem-based learning strategy employed in this unit is supported by the integration of progressive authentic assessment tasks completed at critical points in the students’ learning.

Initially students acquire knowledge in object-oriented software program design by undertaking tutorial exercises and they develop skills in design and development through practical tutorial classes. Practical tutorials provide opportunities for formative assessment which supports assimilation of knowledge of knowledge.

Summative assessment aims to assess students’ competencies and application of knowledge and skills (conceptual, procedural and professional) holistically using an integrated approach to design.

In this unit, students’ problem-solving skills are assessed by means of a quiz and a problem-solving test that evaluates students’ achievement of a synthesis between design theory and the application of programming skills to a software project. The software design project will assess students’ project management skills in object-oriented software design and development and will require evidence of project definition, research, ideation, prototyping, iteration, critical evaluation and risk assessment.

Overview of assessments

Quiz Requires students to demonstrate their knowl...

Quiz

Requires students to demonstrate their knowledge of object-oriented programming techniques and the application of these techniques to the solution of real-world problems.

Weighting

20%

Learning Outcomes LO1

Problem-Solving Test Requires students to demons...

Problem-Solving Test

Requires students to demonstrate competence in developing a class diagram and algorithm for an interactive computer game.

Weighting

30%

Learning Outcomes LO1, LO2

Software Design Project Requires students to demo...

Software Design Project

Requires students to demonstrate competence in software project management: design, development, testing and documentation of an interactive computer game.

Weighting

50%

Learning Outcomes LO1, LO2, LO3, LO4, LO5

Learning and teaching strategy and rationale

A student-focused, problem-based learning approach is used in this unit. This enables the development of conceptual, procedural and professional knowledge and skills that allow students to practise design and computational thinking skills.

In this unit students encounter object-oriented programming concepts through interactive lecture demonstrations, concepts are discussed and broadened through analysis of specific real-world problems and further informed by research during development of software projects. In tutorial classes students design, develop and evaluate software solutions. Issues in software design and development are introduced through a practice-oriented learning method. This method involves the parallel development of procedural and conceptual skills required for design, development and documentation of software solution. Students combine conceptual knowledge in object-oriented programming design, procedural knowledge of software development methodologies to work on software development projects.

The aim of this unit is to provide students with an opportunity to apply computational thinking to develop solutions to real-world problems, enabling them to design, develop, communicate and evaluate software solutions. 

Representative texts and references

Farrell, J. (2013). An object-oriented approach to programming logic and design. Cengage Learning.

Gaddis, T. (2019). Starting out with programming logic and design (5th ed.). Pearson Higher Education.

Kak, A. C. (2015). Designing with objects: Object-oriented design patterns explained with stories from Harry Potter.

Kolling, M. (2015). Introduction to programming with Greenfoot: Object-oriented programming in Java with games and simulations. Pearson.

Liu, Y.A. (2013). Systematic program design: From clarity to efficiency. Cambridge University Press.

Makzan (2014). HTML5 game development hotshot. Packt Publishing.

Morelli, R. (2016). Java, Java, Java: Object-oriented problem solving. Ralph Morelli, Ralph Walde.

Weisfeld, M. (2019). The object-oriented thought process (5th ed.). Addison-Wesley.

Locations
Credit points
Year

Have a question?

We're available 9am–5pm AEDT,
Monday to Friday

If you’ve got a question, our AskACU team has you covered. You can search FAQs, text us, email, live chat, call – whatever works for you.

Live chat with us now

Chat to our team for real-time
answers to your questions.

Launch live chat

Visit our FAQs page

Find answers to some commonly
asked questions.

See our FAQs