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)

Professor Bernd Meyer

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