Skip to Content

Courses

Print or email this page: Print this page Email a Friend

 

Data Structures and Patterns

Unit Code:HIT3303



Credit Points

Duration

Contact Hours

Campus

Prerequisite

Corequisite

12.5 Credit Points

1 Semester or equivalent

48 Hours

Hawthorn

Nil.

Related Course/s:

A unit of study in the  Bachelor of Science (Computer Science and Software Engineering)Bachelor of Science (Computer Science), Bachelor of Information Technology,  Bachelor of Business Information Systems, Bachelor of Science (Information Technology) and Bachelor of Science (Professional Software Development)

Aims & Objectives:

 Learning Outcomes
Upon completion of this unit, students will have knowledge of, and be able to apply, the following principles of data structure and algorithm design, implementation, and application:
  • Solve problems using object oriented design and implementation techniques.
  • Interpret the tradeoffs and issues involved in the design, implementation, and application of various data structures with respect to a given problem
  • Design, implement, and evaluate software solutions using behavioural, creational, and structural software design patterns
  • Explain the purpose and answer questions about data structures and design patterns that illustrate strengths and weaknesses with respect to resource consumption
  • Assess the impact of data structures on algorithms.
  • Evaluate algorithm designs and perform best-, average-, and worst-case analysis.

Teaching Methods:

Lecture (24 hrs), Tutorial (labs) (24 hrs)

Assessment:

Examination, Tests, Assignments

Content:

  • Introduction (Basic concepts,Sets, arrays, indexer, and iterators,Asymptotic algorithm analysis);
  • Fundamental Data Structures (Dynamic arrays,Single-linked lists);
  • Data Types and Abstraction (Abstract data types, Design patterns, Pointers,Memory management);
  • Basic Container Types (Stacks,Queues,Ordered lists,Hash tables);
  • Hierarchical Data Types (Trees, Graphs,Tree traversals);
  • Algorithmic Patterns and Problem Solvers (Basics,Performance analysis,Greedy algorithms,Backtracking,Divide-and-Conquer)

References:

Bruno R. Preiss: Data Structures and Algorithms with Object-Oriented Design Patterns in C++, Wiley & Son,1998.


Stanley B. Lippman, Josée Lajoie, and Barbara E. Moo: C++ Primer. 4th Edition. Addison Wesley 2005