FIT5211 - Algorithms and data structures - 2018

6 points, SCA Band 2, 0.125 EFTSL

Postgraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.

Faculty

Information Technology

Chief examiner(s)

Dr Pierre Le Bodic

Unit guides

Offered

Caulfield

  • First semester 2018 (On-campus)
  • Second semester 2018 (On-campus)

Prerequisites

FIT9133

Prohibitions

FIT9059

Synopsis

This unit introduces students to problem solving concepts and techniques fundamental to the science of programming. It covers data types; data structures; algorithms; algorithmic complexity; and recursion. Detailed topics include analysis of best and worst-case time complexity; data structures such as lists, stacks, queues, binary search trees, graphs and heaps; hashing; sorting algorithms; searching algorithms; and graph algorithms. Students will implement these algorithms and data structures in the Python programming language.

Outcomes

At the completion of this unit, students should be able to:

  1. design and implement simple algorithms in Python;
  2. implement basic data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables;
  3. compare and evaluate different algorithms and implementations of basic data types;
  4. calculate best case and worst case big-O algorithm complexity.

Assessment

Examination (2 hours): 50%; In-semester assessment: 50%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:
    • Two hour lectures
    • One hour tutorial
    • Two hour laboratory
  2. Additional requirements (all students):
    • A minimum of 7 hours of personal study per week in order to satisfy the reading, lab and assignment expectations.

See also Unit timetable information