Handbook home
Algorithms and Complexity (COMP90038)
Graduate courseworkPoints: 12.5On Campus (Parkville)
About this subject
- Overview
- Eligibility and requirements
- Assessment
- Dates and times
- Further information
- Timetable(opens in new window)
Contact information
Overview
Availability | Semester 1 Semester 2 |
---|---|
Fees | Look up fees |
AIMS
The aim of this subject is for students to develop familiarity and competence in assessing and designing computer programs for computational efficiency. Although computers manipulate data very quickly, to solve large-scale problems, we must design strategies so that the calculations combine effectively. Over the latter half of the 20th century, an elegant theory of computational efficiency developed. This subject introduces students to the fundamentals of this theory and to many of the classical algorithms and data structures that solve key computational questions. These questions include distance computations in networks, searching items in large collections, and sorting them in order.
INDICATIVE CONTENT
Topics covered include complexity classes and asymptotic notation; empirical analysis of algorithms; abstract data types including queues, trees, priority queues and graphs; algorithmic techniques including brute force, divide-and-conquer, dynamic programming and greedy approaches; space and time trade-offs; and the theoretical limits of algorithm power.
Intended learning outcomes
INTENDED LEARNING OUTCOMES (ILO)
On completion of this subject the student should be able to:
- Design, manipulate and reason about a variety of techniques for solving sorting, searching and graph problems
- Write efficient algorithms and data structures for a variety of fundamental problems
- Conduct formal reasoning about problem complexity and algorithmic efficiency
- Recognize the design techniques of standard algorithms, and apply these techniques to develop new computational solutions to problems
Generic skills
On completion of this subject students should have the following skills:
- An ability to apply fundamental knowledge in reasoning and problem solving
- Capacity to reason and solve problems
- Ability to undertake problem identification, formulation and solution
- Capacity for creativity and innovation
- Profound respect for truth and intellectual integrity, and for the ethics of scholarship.
Last updated: 3 November 2022
Eligibility and requirements
Prerequisites
Permission of the coordinator is required prior to enrolling in this subject (some programming experience is required).
Corequisites
None
Non-allowed subjects
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20003 | Algorithms and Data Structures | Semester 2 (On Campus - Parkville) |
12.5 |
COMP20007 | Design of Algorithms | Semester 1 (On Campus - Parkville) |
12.5 |
Recommended background knowledge
Solid understanding of the programming concepts of conditionals, loops,functions and procedures, including parameter passing. Understanding of elementary data structures including arrays, records, and linked lists. Knowledge of mathematical concepts, at the level typically covered by Year 12 mathematics subjects, including the concept of a function, as used in basic calculus (polynomials, exponential and logarithmic functions),and familiarity with basic discrete mathematics (sets, relations and graphs). Students are assumed able to read standard mathematical notation for functions, sets, and tuples. Students who do not have this level of mathematical knowledge will be expected to identify themselves to the subject coordinator prior to the commencement of the teaching semester and take part in a sequence of additional tutorials throughout the semester that will cover these concepts. A diagnostic quiz will be made available to students in Week 1 of semester to help them establish their needs in this regard.
Inherent requirements (core participation requirements)
The University of Melbourne is committed to providing students with reasonable adjustments to assessment and participation under the Disability Standards for Education (2005), and the Assessment and Results Policy (MPF1326). Students are expected to meet the core participation requirements for their course. These can be viewed under Entry and Participation Requirements for the course outlines in the Handbook.
Further details on how to seek academic adjustments can be found on the Student Equity and Disability Support website: http://services.unimelb.edu.au/student-equity/home
Last updated: 3 November 2022
Assessment
Additional details
- Project work during semester due around weeks 7 and 11, expected to take approximately 30-36 hours of work (30%), addressing all Intended Learning Outcomes (ILOs) 1-4.
- 11 weekly online quizzes (hurdle), addressing ILOs 1 and 3.
- A written 3-hour closed book examination held during the examination period (70%), addressing all Intended Learning Outcomes (ILOs) 1-4.
Last updated: 3 November 2022
Dates & times
- Semester 1
Principal coordinator Michael Kirley Mode of delivery On Campus (Parkville) Contact hours 36 hours, comprising of one 2-hour lecture and one 1-hour tutorial. Total time commitment 200 hours Teaching period 4 March 2019 to 2 June 2019 Last self-enrol date 15 March 2019 Census date 31 March 2019 Last date to withdraw without fail 10 May 2019 Assessment period ends 28 June 2019 - Semester 2
Principal coordinator Toby Murray Mode of delivery On Campus (Parkville) Contact hours 36 hours, comprising of one 2-hour lecture and one 1-hour tutorial. Total time commitment 200 hours Teaching period 29 July 2019 to 27 October 2019 Last self-enrol date 9 August 2019 Census date 31 August 2019 Last date to withdraw without fail 27 September 2019 Assessment period ends 22 November 2019
Time commitment details
200 hours
Last updated: 3 November 2022
Further information
- Texts
Prescribed texts
A. Levitin, Introduction to the Design and Analysis of Algorithms, Pearson, 3rd edition, 2012
- Subject notes
LEARNING AND TEACHING METHODS
The subject involves two weekly one -hour lectures and one tutorial class. The lectures are a mix of direct delivery and interactive student problem solving. Although written assignments are submitted by students individually, in-plenum discussion of the problems is encouraged.
INDICATIVE KEY LEARNING RESOURCES
Students are provided with lecture slides, and links on the LMS to the in-house animated software Algorithms in Action. The slides are integrated with a well-established textbook.
CAREERS / INDUSTRY LINKS
With Big Data at the forefront of modern computing solutions, industry is ever-more focused on efficient computational analysis methods. Software engineers, developers and data analysts will find not only the analysis techniques, but also the fundamental algorithmic design concepts, highly applicable to the handling of significant datasets. Building on an initial connection in a similar undergraduate offering, there is scope for industry liaison with this subject.
- Related Handbook entries
This subject contributes to the following:
Type Name Course Master of Commerce (Decision, Risk and Financial Sciences) Course Doctor of Philosophy - Engineering Course Master of Philosophy - Engineering Course Master of Science (Bioinformatics) Course Master of Data Science Course Ph.D.- Engineering Specialisation (formal) Spatial Specialisation (formal) Distributed Computing Specialisation (formal) Computing Major Computer Science Specialisation (formal) Software with Business Specialisation (formal) Software - Available through the Community Access Program
About the Community Access Program (CAP)
This subject is available through the Community Access Program (also called Single Subject Studies) which allows you to enrol in single subjects offered by the University of Melbourne, without the commitment required to complete a whole degree.
Entry requirements including prerequisites may apply. Please refer to the CAP applications page for further information.
Additional information for this subject
Subject coordinator approval required
- Available to Study Abroad and/or Study Exchange Students
This subject is available to students studying at the University from eligible overseas institutions on exchange and study abroad. Students are required to satisfy any listed requirements, such as pre- and co-requisites, for enrolment in the subject.
Last updated: 3 November 2022