FIT4010 - Advanced topics in algorithms and discrete structures
6 points, SCA Band 2, 0.125 EFTSL
Undergraduate, Postgraduate Faculty of Information Technology
Leader(s): Associate Professor Bernd Meyer/Professor Kim Marriott
Clayton Second semester 2009 (Day)
Algorithms are the most fundamental area for all aspects of computer science and software engineering. Discrete structures, such as those treated in graph theory, set theory, combinatorics and symbolic logic form the mathematical underpinning of the study of algorithms. As well-designed algorithms and data structures are essential for the good performance of an information system, an in-depth understanding of the theoretical properties of algorithms is essential for any computer scientist. As importantly, the theoretical investigation of algorithms leads to a deeper understanding of problem structures and classes of problems and the knowledge of a large variety of algorithm types enables the designer to approach a new problem from different angles. Topics for this unit include: Computability and Complexity Automata Theory Advanced Analysis and Design of Algorithms Parallel and Distributed Algorithms Numerical Algorithms Cryptographic algorithms Spatial/geometric algorithms
At the completion of this unit students will:
- have an improved understanding of the issues involved in designing algorithms in the chosen specialisation area(s) and in analysing their performance;
- understand the mathematical formalisms that are relevant for these algorithms;
- have learned to recognise tasks that can be solved with these algorithms;
- be able to judge the limitations of these methods;
- be able to choose and apply algorithms and data structures in the chosen specialisation area(s);
- be able to evaluate the performance of algorithms using formal approaches;
- will be able to design modified algorithms in the chosen area to suit particular problem structures.
Assignment and Examination, relative weight depending on topic composition. When no exam is given students will be expected to demonstrate their knowledge by solving practical problems and maybe required to give an oral report. This variability is designed to give flexibility to the lecturer to decided the most appropriate form of examination for a given choice of topics.
Lectures and laboratory classes: 3hrs/week
Completion of the Bachelor of Computer Science or equivalent to the entry requirements for the Honours program. Students must also have enrolment approval from the Honours Coordinator.