Handbook home
Foundations of Algorithms (COMP10002)
Undergraduate level 1Points: 12.5Dual-Delivery (Parkville)
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.
About this subject
- Overview
- Eligibility and requirements
- Assessment
- Dates and times
- Further information
- Timetable(opens in new window)
Contact information
Semester 1
Semester 1: Dr Jianzhong Qi
email: jianzhong.qi@unimelb.edu.au
Semester 2: Professor Alistair Moffat
email: ammoffat@unimelb.edu.au
Semester 2
Semester 1: Dr Jianzhong Qi
email: jianzhong.qi@unimelb.edu.au
Semester 2: Professor Alistair Moffat
email: ammoffat@unimelb.edu.au
Overview
Availability | Semester 1 - Dual-Delivery Semester 2 - Dual-Delivery |
---|---|
Fees | Look up fees |
AIMS
In many projects, it is important for programmers to have fine control over low-level details of program execution, and to be able to assess the cost of a design decision on likely overall program performance. This subject introduces students to a system programming language that gives programmers this kind of control, explores a range of standard data structures and algorithmic techniques, and shows how to apply them to frequently encountered problems.
INDICATIVE CONTENT
- Introduction to computer organization
- Machine level representation of data
- Programming in a system programming language
- Pointers and dynamic memory allocation
- Program semantics and arguments about correctness
- Induction and recursion
- Basic searching algorithms (linear and binary)
- Basic sorting algorithms (such as selection sort, insertion sort, quicksort)
- Basic data structures (binary search trees and hash tables)
- Asymptotic complexity
- Standard software development tools such as debuggers.
Intended learning outcomes
INTENDED LEARNING OUTCOMES (ILO)
On completion of this subject the student is expected to:
- Read, write and debug typical small-scale programs in a system programming language such as C
- Discuss, analyse, implement, and apply standard data structures such as linked lists, binary search trees, and hash tables
- Discuss, analyse, and apply a range of sorting and searching algorithms
- Present logical arguments for the correctness of a given algorithm
- Choose between different algorithms for simple problems by analysing their complexity
- Use a command line interface and standard development tools for programming
Generic skills
On completion of this subject students should have developed the following skills:
- Ability to undertake problem identification, formulation and solution
- Capacity for independent critical thought, rational inquiry and self-directed learning
- Profound respect for truth and intellectual integrity, and for the ethics of scholarship
- An ability to apply knowledge of basic science and engineering fundamentals.
Last updated: 22 March 2024
Eligibility and requirements
Prerequisites
One of
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP10001 | Foundations of Computing |
Semester 2 (Dual-Delivery - Parkville)
Semester 1 (Dual-Delivery - Parkville)
Summer Term (Online)
|
12.5 |
COMP10003 | Media Computation | Semester 1 (Online) |
12.5 |
OR
Achieving at least 75% in a programming competency test.
Corequisites
None
Non-allowed subjects
Code | Name | Teaching period | Credit Points |
---|---|---|---|
COMP20005 | Engineering Computation |
Semester 1 (Dual-Delivery - Parkville)
Semester 2 (Dual-Delivery - Parkville)
|
12.5 |
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: 22 March 2024
Assessment
Semester 1
Description | Timing | Percentage |
---|---|---|
Project work during semester, due in approximately Week 8 and Week 11
| From Week 8 to Week 11 | 30% |
One mid-semester test, held in Week 5 or Week 6 Hurdle requirement: Please see below | Mid semester | 10% |
One examination
| End of semester | 60% |
Semester 2
Description | Timing | Percentage |
---|---|---|
Two 30 minute on-line Quizzes, 10% each, held during assigned class time in Weeks 5 and 9
| Week 5 and 9 | 20% |
Two programming Assignments, 20% each, due at the end of Weeks 8 and 11. 20-30 hours each
| Week 8 and 11 | 40% |
Final on-line exam
| During the examination period | 40% |
Additional details
Semester 1
Hurdle requirement: To pass the subject, students must obtain at least:
- 50% overall
- 12/30 in project work
- 28/70 in the mid-semester test and end-of-semester written examination combined.
Intended Learning Outcomes (ILO) 1 is addressed in all components of assessment. ILO 2, ILO 3, ILO 4 and ILO 5 are assessed in the mid-semester test and in the examination. ILO 6 is addressed in the programming assignments.
Semester 2
Hurdle requirement: Hurdle of 36/60 required in exam plus two quizzes when marks combined; hurdle of 24/40 on two assignments when combined.
Last updated: 22 March 2024
Dates & times
- Semester 1
Principal coordinator Jianzhong Qi Mode of delivery Dual-Delivery (Parkville) Contact hours 60 hours, comprising of three 1-hour lectures and one 2-hour workshop per week Total time commitment 170 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 1 contact information
Semester 1: Dr Jianzhong Qi
email: jianzhong.qi@unimelb.edu.au
Semester 2: Professor Alistair Moffat
email: ammoffat@unimelb.edu.au - Semester 2
Principal coordinator Alistair Moffat Mode of delivery Dual-Delivery (Parkville) Contact hours 60 hours, comprising of three 1-hour lectures and one 2-hour workshop per week Total time commitment 170 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 Semester 2 contact information
Semester 1: Dr Jianzhong Qi
email: jianzhong.qi@unimelb.edu.au
Semester 2: Professor Alistair Moffat
email: ammoffat@unimelb.edu.au
Time commitment details
170 hours
Last updated: 22 March 2024
Further information
- Texts
Prescribed texts
None
- Subject notes
This subject is available for science credit to students enrolled in the BSc. Students undertaking this subject will require regular access to the internet.
LEARNING AND TEACHING METHODS
The subject will be delivered through a combination of lectures, programming workshops, and programming exercises and assessed programming assignments. Students will also be expected to develop and submit programming assignments for assessment.
INDICATIVE KEY LEARNING RESOURCES
Students will have access to lecture notes and lecture slides, and will be expected to own a copy of the textbook nominated by the coordinator. Other guidance will be provided via the LMS.
CAREERS / INDUSTRY LINKS
Programming competencies are a critical part of a range of career pathways, including in IT, engineering, and mathematics. In addition, an understanding of the fundamental nature of computation is a key enabler across all science discipline areas, including genetics and physics.
- Related Handbook entries
This subject contributes to the following:
Type Name Course Master of Science (Mathematics and Statistics) Informal specialisation Bachelor of Design Elective Subjects Informal specialisation Elective subjects for B-BMED Informal specialisation Science Discipline subjects - new generation B-SCI - Breadth options
This subject is available as breadth in the following courses:
- Bachelor of Arts
- Bachelor of Commerce
- Bachelor of Design
- Bachelor of Environments
- Bachelor of Fine Arts (Acting)
- Bachelor of Fine Arts (Animation)
- Bachelor of Fine Arts (Dance)
- Bachelor of Fine Arts (Film and Television)
- Bachelor of Fine Arts (Music Theatre)
- Bachelor of Fine Arts (Production)
- Bachelor of Fine Arts (Screenwriting)
- Bachelor of Fine Arts (Theatre)
- Bachelor of Fine Arts (Visual Art)
- Bachelor of Music
- 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.
- 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: 22 March 2024