Students

COMP3010 – Algorithm Theory and Design

2020 – Session 2, Special circumstance

Notice

As part of Phase 3 of our return to campus plan, most units will now run tutorials, seminars and other small group learning activities on campus for the second half-year, while keeping an online version available for those students unable to return or those who choose to continue their studies online.

To check the availability of face to face activities for your unit, please go to timetable viewer. To check detailed information on unit assessments visit your unit's iLearn space or consult your unit convenor.

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor
Gaurav Gupta
To be advised via iLearn
Lecturer
Daniel Sutantyo
To be advised via iLearn
Credit points Credit points
10
Prerequisites Prerequisites
130cp at 1000 level or above including (COMP2010 or COMP225) and (MATH2907 or DMTH237)
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit covers general issues of the theory of computation and algorithm design, including computability and complexity. The general principles are illustrated by designing several very efficient algorithms with applications in telecommunication networks, cryptography and other important fields.

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

On successful completion of this unit, you will be able to:

  • ULO1: Solve concrete problems and provide adapted algorithmic solutions using advanced algorithmic knowledge.
  • ULO2: Design and implement algorithms to satisfy specified problem constraints.
  • ULO3: Communicate clearly and effectively the relevant aspects of algorithms and their performance.
  • ULO4: Work collaboratively in a small team to design and implement advanced algorithms.

General Assessment Information

Late Submission

No extensions will be granted without an approved application for Special Consideration. There will be a deduction of 10% of the total available marks made from the total awarded mark for each 24 hour period or part thereof that the submission is late. For example, 25 hours late in submission for an assignment worth 10 marks – 20% penalty or 2 marks deducted from the total.  No submission will be accepted after the solutions have been posted.

Supplementary Exam

If you receive Special Consideration for the final exam, a supplementary exam will be scheduled after the normal exam period, following the release of marks. By making a special consideration application for the final exam you are declaring yourself available for a resit during the supplementary examination period and will not be eligible for a second special consideration approval based on pre-existing commitments. Please ensure you are familiar with the policy prior to submitting an application. Approved applicants will receive an individual notification one week prior to the exam with the exact date and time of their supplementary examination.

 

Assessment Tasks

Name Weighting Hurdle Due
Final Examination 30% No Exam Period
In-term tests 20% No Test 1: Wk8, Test 2: Wk13
Weekly exercises 10% No Weeks 1 to 10
Assignments 40% No A1: Wk5, A2: Recess, A3: Wk11, A4: Wk13

Final Examination

Assessment Type 1: Examination
Indicative Time on Task 2: 15 hours
Due: Exam Period
Weighting: 30%

 

The final examination will be a three-hour examination (closed book) held during the usual University examination period and will cover all topics.

 


On successful completion you will be able to:
  • Solve concrete problems and provide adapted algorithmic solutions using advanced algorithmic knowledge.
  • Communicate clearly and effectively the relevant aspects of algorithms and their performance.

In-term tests

Assessment Type 1: Quiz/Test
Indicative Time on Task 2: 10 hours
Due: Test 1: Wk8, Test 2: Wk13
Weighting: 20%

 

There will be two short in-term tests to assess the understanding of the course material from the preceding weeks. The questions should be similar in nature to the ones that will be discussed during the workshops.

 

 


On successful completion you will be able to:
  • Solve concrete problems and provide adapted algorithmic solutions using advanced algorithmic knowledge.

Weekly exercises

Assessment Type 1: Participatory task
Indicative Time on Task 2: 10 hours
Due: Weeks 1 to 10
Weighting: 10%

 

A set of exercises will be made available online every week to be discussed during the workshop, starting from Week 1. You will be expected to attempt and submit a selection of questions for your homework each week.

For each submission, a mark of out of 1 will be given, and your total mark for this assessment will be the total sum of your submission marks to a maximum of 10 (there may be more than 10 submissions throughout the semester).

 


On successful completion you will be able to:
  • Solve concrete problems and provide adapted algorithmic solutions using advanced algorithmic knowledge.
  • Design and implement algorithms to satisfy specified problem constraints.
  • Work collaboratively in a small team to design and implement advanced algorithms.

Assignments

Assessment Type 1: Programming Task
Indicative Time on Task 2: 32 hours
Due: A1: Wk5, A2: Recess, A3: Wk11, A4: Wk13
Weighting: 40%

 

There will be four assignments that assess students' ability to design and implement the algorithms covered during the session.

 


On successful completion you will be able to:
  • Solve concrete problems and provide adapted algorithmic solutions using advanced algorithmic knowledge.
  • Design and implement algorithms to satisfy specified problem constraints.
  • Communicate clearly and effectively the relevant aspects of algorithms and their performance.
  • Work collaboratively in a small team to design and implement advanced algorithms.

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation

Delivery and Resources

Classes

Materials for COMP3010 will be mainly presented through a combination of online lectures and video presentations. The lectures introduce the weekly topic at a more general level and present an opportunity to have live discussions on the content. The video presentations will cover the topics in greater details, such as the working out of an example or solutions to tutorial problems, and can be watched at your own pace.

Each week, there will also be a two-hour workshop class where you should attempt a set of questions based on the week's topic under the guidance of the tutor. The workshop also gives you a chance to discuss any course-related problem you may have with the tutor and your peers. A submission question will also be made available every week which must be handed in on the Saturday following your workshop. It is important that you keep up with the problems in your workshop classes as doing so will help you understand the material in the unit and prepare you for your assignments, tests and final exam.  

Textbooks

The following textbooks are not required for COMP3010, but are highly recommended as we will use them as the basis for most of the course.

  • (CLRS) T. H. Cormen, C. E. Leiserson, R. L. Rivest, & C. Stein, Introduction to Algorithms (MIT Press) 3rd edition. ISBN 0-262-53305-7.
  • (Skiena) S. S. Skiena, The Algorithm Design Manual, Springer, 2nd  edition, 2008, ISBN: 978-1-84800-069-8. 

Both textbooks are available online via the library website. 

Technology

The coding component for this course will be presented using the Java programming language using Eclipse IDE as the recommended development environment. You are also expected to use git version control for parts of the course.  

 

Unit Schedule

The following is the provisional schedule of topics and assessments, which may be subject to further adjustments.

Week Topic Readings Assessment Due
1 Algorithm Design and Analysis CLRS Chapter 1-3, Skiena Chapter 1-2, 10  
2 Algorithm Correctness Skiena Chapter 1  
3 Brute-Force Methods Skiena Chapter 7  
4 Dynamic Programming CLRS Chapter 15, Skiena Chapter 8  
5 Greedy Algorithms CLRS Chapter 16 Assignment 1
6 Divide-and-Conquer Algorithms CLRS Chapter 4  
7 String Algorithms CLRS Chapters 15-16 and 32  
  Recess   Assignment 2
8 Probabilistic Algorithms CLRS Chapter 5 Class Test 1
9 Graph Algorithms CLRS Chapters 24-26, Skiena Chapter 6  
10 Miscellaneous Topics (to be advised)  
11 Computational Complexity I Skiena Chapter 9, CLRS Chapter 34 Assignment 3
12 Computational Complexity II Skiena Chapter 9, CLRS Chapter 34  
13 Revision   Assignment 4, Class Test 2

 

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit the Student Policy Gateway (https://students.mq.edu.au/support/study/student-policy-gateway). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

If you would like to see all the policies relevant to Learning and Teaching visit Policy Central (https://staff.mq.edu.au/work/strategy-planning-and-governance/university-policies-and-procedures/policy-central).

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/study/getting-started/student-conduct​

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit ask.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Learning Skills

Learning Skills (mq.edu.au/learningskills) provides academic writing resources and study strategies to help you improve your marks and take control of your study.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Students with a disability are encouraged to contact the Disability Service who can provide appropriate help with any issues that arise during their studies.

Student Enquiries

For all student enquiries, visit Student Connect at ask.mq.edu.au

If you are a Global MBA student contact globalmba.support@mq.edu.au

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.

Changes from Previous Offering

In the previous offering there were only two coding assignments but each assignment had multiple components. In this year's offering, we elected to formally break these down into separate assignments to spread the workload over the semester. In terms of material, we are reducing the discussion on computational complexity in order to spend more time on discussing more practical algorithms in earlier weeks.