Swinburne University of Technology - Melbourne Australia
Future Students - Courses
Duration
Contact Hours
Campus
Prerequisite
Corequisite
1 Semester or equivalent
48 Hours
Hawthorn
HIT2302 Object-Oriented Programming or HIT3037 Programming in Java or HIT1052 Software Development 2
Nil. Preclusion: HIT2253 Data Structures and Algorithms
Credit Points: 12.5 Credit Points
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)
Learning OutcomesUpon 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 problemDesign, implement, and evaluate software solutions using behavioural, creational, and structural software design patternsExplain the purpose and answer questions about data structures and design patterns that illustrate strengths and weaknesses with respect to resource consumptionAssess the impact of data structures on algorithms.Evaluate algorithm designs and perform best-, average-, and worst-case analysis.
Lecture (24 hrs), Tutorial (labs) (24 hrs)
Examination, Tests, Assignments
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)
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