Skip to content | Change text size

FIT2009 - Data structures and algorithms

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate Faculty of Information Technology

Leader: D Thomson

Offered

Gippsland Second semester 2007 (Day)
Gippsland Second semester 2007 (Off-campus)
Gippsland Summer semester A 2007 (Off-campus)
Hong Kong CID Second semester 2007 (Off-campus)
Hong Kong Second semester 2007 (Off-campus)
Malaysia Second semester 2007 (Day)
Singapore Second semester 2007 (Off-campus)
Singapore Summer semester A 2007 (Off-campus)
South Africa Second semester 2007 (Day)

Synopsis

Algorithm analysis. Application and implementation of some common data structures: stacks, queues, lists, priority queues, tables, sets and collections. Data representations including: arrays, linked lists, heaps, trees (including balanced trees) and hashing. Design of application programs making use of common data structures. Design and implementation of new data structures. Study of advanced algorithms in areas such as: graph theory, pattern searching and data compression. Access to the University's computer systems through an Internet service provider is compulsory for off-campus students

Objectives

  1. Ability to analyse simple algorithms to work out an order of magnitude estimate of running time and space.
  2. Familiarity with some of the most common data structures: stacks; queues; lists; priority queues; tables; sets; collections.
  3. Ability to implement these data structures using various common data representations: arrays; linked lists; heaps; trees (including balanced trees); hashing.
  4. Ability to evaluate which implementation would be most appropriate for a given data structure and application.
  5. Ability to apply the same principles used in implementing the common data structures to implement other data structures.
  6. Ability to design and implement new data structures.
  7. Understanding of some more advanced algorithms in areas such as: graph theory (shortest path etc); pattern searching; data compression; (precise selection of advanced algorithms will vary from year to year).
  8. Ability to design new algorithms to solve new problems.
  9. Enjoyment of programming as an intellectual exercise.
  10. Appreciation of the elegance of certain data structures and algorithms as a form of art.
  11. Interest in understanding how data structures and algorithms are implemented rather than merely using other people's implementations (and consequently a preference for open source software.
  12. Ability to design new application programs that make use of introduced data structures, including the ability to evaluate which data structures would be most appropriate.

Assessment

Exam(3hours):60%; Assignments:40%

Contact hours

one x 2hr lecture/week; one x 2hr tutorial/week

Prerequisites

FIT1007

Prohibitions

(translation unit:GCO2817)