Algorithms and Complexity (COMP90038)
Graduate courseworkPoints: 12.5Dual-Delivery (Parkville) and Online
Please refer to the return to campus page for more information on these delivery modes and students who can enrol in each mode based on their location.
Overview
Availability | Semester 1 - Online Semester 2 - Dual-Delivery |
---|---|
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
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).
Permission is not required, however, for students who have completed
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP90059 | Introduction to Programming |
Semester 1 (Dual-Delivery - Parkville)
Summer Term (Online)
Semester 2 (Dual-Delivery - Parkville)
|
12.5 |
or are admitted into one of the following:
MC-ENG - Master of Engineering (Software)
MC-ENG - Master of Engineering (Software with Business)
MC-IT - Master of Information Technology
MC-DATASC - Master of Data Science
GD-CS - Graduate Diploma in Computer Science
Corequisites
None
Non-allowed subjects
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20003 | Algorithms and Data Structures | Semester 2 (Dual-Delivery - Parkville) |
12.5 |
COMP20007 | Design of Algorithms | Semester 1 (Dual-Delivery - 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
Description | Timing | Percentage |
---|---|---|
Project work during semester due around weeks 7 and 11, addressing all Intended Learning Outcomes (ILOs) 1-4.
| From Week 7 to Week 11 | 30% |
10 weekly online quizzes, addressing ILOs 1 and 3.
| Throughout the teaching period | 10% |
A written closed book examination, addressing all Intended Learning Outcomes (ILOs) 1-4.
| During the examination period | 60% |
Last updated: 3 November 2022
Dates & times
- Semester 1 - Online
Principal coordinator Michael Kirley Mode of delivery Online Contact hours 36 hours, comprising of one 2-hour lecture and one 1-hour tutorial. Total time commitment 200 hours Teaching period 1 March 2021 to 30 May 2021 Last self-enrol date 12 March 2021 Census date 31 March 2021 Last date to withdraw without fail 7 May 2021 Assessment period ends 25 June 2021 - Semester 2 - Dual-Delivery
Principal coordinator Toby Murray Mode of delivery Dual-Delivery (Parkville) Contact hours 36 hours, comprising of one 2-hour lecture and one 1-hour tutorial. Total time commitment 200 hours Teaching period 26 July 2021 to 24 October 2021 Last self-enrol date 6 August 2021 Census date 31 August 2021 Last date to withdraw without fail 24 September 2021 Assessment period ends 19 November 2021
Time commitment details
200 hours
Last updated: 3 November 2022
Further information
- Texts
- 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 Science (Bioinformatics) Course Doctor of Philosophy - Engineering Course Ph.D.- Engineering Course Master of Data Science Course Master of Commerce (Decision, Risk and Financial Sciences) Course Master of Philosophy - Engineering Specialisation (formal) Computing Specialisation (formal) Software with Business Specialisation (formal) Distributed Computing Specialisation (formal) Spatial Major Computer Science 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.
Please note Single Subject Studies via Community Access Program is not available to student visa holders or applicants
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
Last updated: 3 November 2022