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 structures; … For more content click the Read More button below.

Offerings

OCT12-CLAYTON-ON-CAMPUS
S1-01-CLAYTON-ON-CAMPUS
S1-01-MALAYSIA-ON-CAMPUS
S2-01-CLAYTON-ON-CAMPUS
S2-01-MALAYSIA-ON-CAMPUS

Rules

Enrolment Rule

Contacts

Chief Examiner(s)

Dr Pierre Le Bodic

Unit Coordinator(s)

Dr Muhammad Fermi Pasha

Learning outcomes

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

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

2.

Summarise and compare the properties of basic abstract data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables;

3.

Evaluate different algorithms and implementations of basic abstract data types;

4.

Analyse algorithms by determining their best case and worst case big O time complexity;

5.

Deconstruct simple high-level code into assembly code such as MIPS R20

Teaching approach

Peer assisted learning

Assessment summary

This unit has threshold mark hurdles. You must achieve at least 45% of the available marks in the final scheduled assessment, at least 45% in total for in-semester assessments, and an overall unit mark of 50% or more 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 - Interview Practicals
2 - Solo/Colab Pracs
3 - Scheduled final assessment (3 hours and 10 minutes)

Scheduled and non-scheduled teaching activities

Laboratories
Tutorials
Workshops

Workload requirements

Workload

Learning resources

Recommended resources
Technology resources

Availability in areas of study

Computer science
Computational science