Students

COMP333 – Algorithm Theory and Design

2018 – S2 Day

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff Convenor, lecturer
Scott McCallum
Contact via 9850 9575
9WW 375
By arrangement
Lecturer
Mark Dras
Contact via 9850 9580
9WW 380
By arrangement
Credit points Credit points
3
Prerequisites Prerequisites
(39cp at 100 level or above) including (COMP225 and 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:

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.
  • Improve capability to work collaboratively in a small team.

General Assessment Information

The final mark for the unit will be calculated by combining the marks for all assessment tasks according to the percentage weightings shown in the assessment summary.

Special consideration: If you experience substantial disruption to your studies at exam time or when an assessment task is due, you could consider applying for Special Consideration (https://students.mq.edu.au/study/my-study-program/special-consideration). Please note that on-line application for Special Consideration is a centralised process, and resolution could take some time. With respect to assignments, you should therefore also notify the lecturer responsible for the assignment prior to the deadline, and submit your provisional solution to the assignment via iLearn by the deadline.  Failure to do that could cause difficulty for you in the event your request for extension is not granted.

If you apply for and are granted Special Consideration with respect to your final examination, you must make yourself available for the week of December 17 – 21,  2018.  By making such application you are declaring yourself available for a resit during that week. You 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
Weekly exercises 10% No 11 pm Sunday after class
Mid-term test 10% No Week 7
Assignment 1 20% No week 6 (final deadline)
Assignment 2 20% No week 12 (final deadline)
Final Examination 40% No During exam period

Weekly exercises

Due: 11 pm Sunday after class
Weighting: 10%

Each week, a set of exercises will be made available online. A selection of the questions will be discussed during your workshop class. You will usually be expected to complete a further selection of questions for homework. 

The homework exercises (when set) are to be completed and submitted electronically in the form of a PDF file before the deadline (usually 11 pm on the Sunday after class).  Feedback will be given as soon as possible on the submitted work. Some homework questions may be adapted for the mid-term test.


On successful completion you will be able to:
  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.

Mid-term test

Due: Week 7
Weighting: 10%

The mid-term test (week 7) will assess the understanding of the unit content for weeks 1-6. Some questions in the test will be closely based on a selection of the submitted weekly exercises. The mid-term test will take place during scheduled lecture time. The tentative date of the mid-term test is Wed 12 September at 2 pm.

 


On successful completion you will be able to:
  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.

Assignment 1

Due: week 6 (final deadline)
Weighting: 20%

This assignment will be organised into sub-tasks. So there will be different submission deadlines for this assignment. Each part will be submitted online. Some parts are to be done individually, whereas others will be completed both individually and collaboratively in a team in order to mimic a real software development project and to give you a chance to fully appreciate the advantages of system design. Please read carefully the details in the assignment specifications when they become available so that you are familiar with the precise submission deadlines.


On successful completion you will be able to:
  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.
  • Improve capability to work collaboratively in a small team.

Assignment 2

Due: week 12 (final deadline)
Weighting: 20%

This assignment will be organised into sub-tasks. So there will be different submission deadlines for this assignment. Each part will be submitted online. Some parts are to be done individually, whereas others may be completed both individually and collaboratively in a team in order to mimic a real software development project and to give you a chance to fully appreciate the advantages of system design. Please read carefully the details in the assignment specifications when they become available so that you are familiar with the precise submission deadlines.


On successful completion you will be able to:
  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.
  • Improve capability to work collaboratively in a small team.

Final Examination

Due: During exam period
Weighting: 40%

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

 


On successful completion you will be able to:
  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.

Delivery and Resources

CLASSES

Each week you should attend three hours of lectures and a two hour mixed workshop class (that is, a tutorial and a practical combined in a single session). For details of days, times and rooms consult the timetables webpage.

Please note that mixed workshop classes commence in Week 2. You are strongly advised to attend the mixed workshop classes, and you are expected to submit the requested homework by the end of each week (that is, by 11 pm on the Sunday after your class). Please note that the mid-term test and the final exam will draw upon the weekly homework exercises. You are therefore expected and strongly advised to complete these homework exercises, and to seek clarification when you are unable to complete a question. The assignments may involve a presentation which will be marked in the relevant workshop class; so you will be required to attend those workshops to receive credit for the presentation part.

We recommend that during Week 1 you make sure that you can successfully login into your account, and also access unit's materials via iLearn .

REQUIRED AND RECOMMENDED TEXTS AND/OR MATERIALS

Textbooks

The following textbooks are recommended but not required  for COMP333:

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

They should be available from the University Co-op Bookshop and/or library.

UNIT WEBPAGE AND TECHNOLOGY USED AND REQUIRED

Echo360

http://mq.edu.au/iLearn/student_info/lecture_recordings.htm

Digital recordings of lectures are available. Please follow these instructions to access the recordings.

Technology

Object-oriented technology, language and development environment: Eclipse IDE for Java development

Version control: git/mercurial

Websites

This unit will use iLearn to distribute materials and for submission of work.

Discussion Boards

The unit makes use of discussion boards hosted within iLearn. Please post questions there, they are monitored by the staff on the unit.

Late submissions

No late submissions are allowed, except in case of approved properly submitted Special Consideration requests.

Teaching and Learning Strategy

COMP333 is taught via lectures in the lecture theatre and mixed workshop classes in the laboratory. Lectures are used to introduce new theoretical material, to give examples of the use of such material, and to put the core principles and methods into a wider context. Mixed workshop classes give you the opportunity to interact with your peers. You will be given problems to solve each week. Preparing solutions is important because it will allow you to discuss the problems with your tutor and peers thereby making the most of this activity. The aim of the mixed workshop classes is to help you to develop problem-solving skills and teamwork, and you will be expected to work on problems in class. Mixed workshop classes give you an opportunity to practise your programming skills, and to implement many of the ideas discussed in lectures. It is important that you keep up with the problems in your mixed workshop classes as doing so will help you understand the material in the unit and prepare you for your assignments, mid-term test and final exam.  Additional questions will be provided for extension and general practice.

Lecture notes will be made available each week but these notes are intended as an outline of the lecture only and are not a substitute for your own notes or the textbook.

 

Unit Schedule

Following is the provisional schedule of topics, which is subject to adjustment.

Week  Topic Reading
1 Introduction to design and correctness Chap. 1 in [1]
2 Algorithm analysis, big-oh notation Chap. 2 in [1], Chap 3 in [2]
3 Greedy algorithms Chap. 8 in [1], Chap. 16 in [2]
4 Divide and conquer design Chap. 4 in [1], Chap. 4 in [2]
5 Dynamic programming Chap. 8 in [1], Chap. 15 in [2]
6 String algorithms and further analysis

Chap. 18 in [1], Chap. 32 in [2]

7

Case study: exploring trees and graphs (on Mon 10 Sept)

Mid-term test in lectures (on Wed 12 Sept)

Chap. 5 & 7 in [1], Chap. 22 in [2]
 

Recess 17-28 September

 
8

Labour Day on Mon 1 Oct - no lecture on that day

Case study: arithmetic algorithms I (on Wed 3 Oct)

Chap. 2 & 13 in [1], Chap. 31 in [2]
9

Case study: arithmetic algorithms II

Similar to week 8
10

Probabilistic algorithms

Chap.13 in [1], Chap. 5 & 31 in [2]
11

Computational complexity I

Chap. 9 in [1], Chap. 34 in [2]
12

Computational complexity II

Chap. 9 and 16 in [1], Chap. 34 and 35 in [2]
13 Revision

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:

Undergraduate 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 shown in iLearn, 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.

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 improve your marks and take control of your study.

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

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.

Graduate Capabilities

Creative and Innovative

Our graduates will also be capable of creative thinking and of creating knowledge. They will be imaginative and open to experience and capable of innovation at work and in the community. We want them to be engaged in applying their critical, creative thinking.

This graduate capability is supported by:

Learning outcome

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.

Assessment tasks

  • Assignment 1
  • Assignment 2

Capable of Professional and Personal Judgement and Initiative

We want our graduates to have emotional intelligence and sound interpersonal skills and to demonstrate discernment and common sense in their professional and personal judgement. They will exercise initiative as needed. They will be capable of risk assessment, and be able to handle ambiguity and complexity, enabling them to be adaptable in diverse and changing environments.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Improve capability to work collaboratively in a small team.

Assessment tasks

  • Assignment 1
  • Assignment 2

Commitment to Continuous Learning

Our graduates will have enquiring minds and a literate curiosity which will lead them to pursue knowledge for its own sake. They will continue to pursue learning in their careers and as they participate in the world. They will be capable of reflecting on their experiences and relationships with others and the environment, learning from them, and growing - personally, professionally and socially.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.

Assessment task

  • Mid-term test

Discipline Specific Knowledge and Skills

Our graduates will take with them the intellectual development, depth and breadth of knowledge, scholarly understanding, and specific subject content in their chosen fields to make them competent and confident in their subject or profession. They will be able to demonstrate, where relevant, professional technical competence and meet professional standards. They will be able to articulate the structure of knowledge of their discipline, be able to adapt discipline-specific knowledge to novel situations, and be able to contribute from their discipline to inter-disciplinary solutions to problems.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Improve capability to work collaboratively in a small team.

Assessment tasks

  • Weekly exercises
  • Mid-term test
  • Assignment 1
  • Assignment 2
  • Final Examination

Critical, Analytical and Integrative Thinking

We want our graduates to be capable of reasoning, questioning and analysing, and to integrate and synthesise learning and knowledge from a range of sources and environments; to be able to critique constraints, assumptions and limitations; to be able to think independently and systemically in relation to scholarly activity, in the workplace, and in the world. We want them to have a level of scientific and information technology literacy.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Improve capability to work collaboratively in a small team.

Assessment tasks

  • Assignment 1
  • Assignment 2
  • Final Examination

Problem Solving and Research Capability

Our graduates should be capable of researching; of analysing, and interpreting and assessing data and information in various forms; of drawing connections across fields of knowledge; and they should be able to relate their knowledge to complex situations at work or in the world, in order to diagnose and solve problems. We want them to have the confidence to take the initiative in doing so, within an awareness of their own limitations.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Enhance relevant technical skills in order to design and implement algorithms to satisfy specified problem constraints.
  • Improve capability to work collaboratively in a small team.

Assessment tasks

  • Weekly exercises
  • Mid-term test
  • Assignment 1
  • Assignment 2
  • Final Examination

Effective Communication

We want to develop in our students the ability to communicate and convey their views in forms effective with different audiences. We want our graduates to take with them the capability to read, listen, question, gather and evaluate information resources in a variety of formats, assess, write clearly, speak effectively, and to use visual communication and communication technologies as appropriate.

This graduate capability is supported by:

Learning outcomes

  • Gain advanced algorithmic knowledge in order to tackle concrete problems and provide adapted algorithmic solutions.
  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.
  • Improve capability to work collaboratively in a small team.

Assessment tasks

  • Assignment 1
  • Assignment 2
  • Final Examination

Engaged and Ethical Local and Global citizens

As local citizens our graduates will be aware of indigenous perspectives and of the nation's historical context. They will be engaged with the challenges of contemporary society and with knowledge and ideas. We want our graduates to have respect for diversity, to be open-minded, sensitive to others and inclusive, and to be open to other cultures and perspectives: they should have a level of cultural literacy. Our graduates should be aware of disadvantage and social justice, and be willing to participate to help create a wiser and better society.

This graduate capability is supported by:

Learning outcome

  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.

Socially and Environmentally Active and Responsible

We want our graduates to be aware of and have respect for self and others; to be able to work with others as a leader and a team player; to have a sense of connectedness with others and country; and to have a sense of mutual obligation. Our graduates should be informed and active participants in moving society towards sustainability.

This graduate capability is supported by:

Learning outcome

  • Develop ability to communicate clearly and effectively relevant aspects of algorithms and their performance.

Changes from Previous Offering

For this offering weekly homework will be submitted individually. (In the previous offering weekly homework was completed and submitted by a team of two students.)

There are some changes to the topic list for this offering, compared with the previous one.

This offering includes only one mid-term test (in week 7), whereas the previous one included two in-class tests (one in week 7 and the other in week 13).

In this offering the final exam is weighted 40%, compared with 30% in the previous offering.

Grading

At the end of the session, you will receive a mark that reflects your achievement in the unit. The final mark for the unit will be calculated by combining the marks for all assessment tasks according to the percentage weightings shown in the assessment summary.

Changes since First Published

Date Description
30/07/2018 1. Today's version (30/07/18) contains Faculty mandated wording on supplementary exam policy and process. 2. Today's version (30/07/18) contains slightly updated readings from recommended text books.