There is a more recent version of this academic item available.

Overview

This unit introduces students to core problem-solving, analytical skills, and methodologies useful for developing flexible, robust, and maintainable software. In doing this it covers a range of conceptual levels, from high level algorithms and data-structures, down to the machine models and simple assembly language programming. Topics include data types; data … For more content click the Read More button below.

Offerings

S1-01-CLAYTON-ON-CAMPUS

S1-01-MALAYSIA-ON-CAMPUS

S2-01-CLAYTON-ON-CAMPUS

S2-01-MALAYSIA-ON-CAMPUS

Contacts

Chief Examiner(s)

Dr Alexey Ignatiev

Unit Coordinator(s)

Dr Muhammad Fermi Pasha

Brendon Taylor

Notes

This unit is part of an Education Transformation Project in the Faculty of Information Technology. 

Learning outcomes

On successful completion of this unit, you should be able to:
1.

Translate problem statements into algorithms and implement them in a high level programming language;

2.

Determine appropriate basic abstract data types, including; stacks, queues, lists, binary trees, priority queues, heaps and hash tables; for specific contexts;

3.

Theoretically and experimentally evaluate different implementations of basic abstract data types;

4.

Analyse the efficiency of algorithms by determining their best-case and worst-case big-O time complexity;

5.

Deconstruct simple high-level code into assembly code, specifically MIPS R2000;

6.

Work in teams to analyse algorithms and write programs.

Teaching approach

Peer assisted learning

Assessment summary

From Semester 2: This unit has threshold mark hurdles as noted in the assessment. You must achieve at least 45% of the available marks in each group assessment, and an overall unit mark of 50% or more (which includes the individual assessment) to be able to pass the unit. If you do not achieve the threshold mark, you will receive a fail grade (NH) and a maximum mark of 45 for the unit.

Assessment

1 - Individual practical task

2 - Group practical task 1

3 - Group practical task 2

4 - Group practical task 1

5 - Group practical task 2

6 - Group practical task 3

Scheduled and non-scheduled teaching activities

Applied sessions

Workshops

Workload requirements

Workload

Learning resources

Recommended resources

Technology resources

Availability in areas of study

Software engineering