COMP2007: ALGORITHMS AND COMPLEXITY
Maths/Science Methods and Tools (Level 2)
1. Knowledge of fundamental algorithms for several problems, especially graph problems, testing graph properties and solving optimization problems on graphs. Knowledge of fundamental general algorithmic design techniques, such as greedy, dynamic programming and divide-and-conquer2. Understanding of the fundamental concepts of computational hardness.3. Understanding of NP-hardness and the ways of dealing with hardness. Knowledge of randomized algorithms and approximation algorithms.4. Knowledge of basic Complexity classes and understanding of reductions between problems
Design (Level 2)
5. Ability to read, understand, analyze and modify a given algorithm. Ability to design algorithmic solutions for given problems6. Ability to analyze the complexity of a given algorithm
Engineering/IT Specialisation (Level 2)
7. Basic experience of implementing algorithms
Assessment name |
Team-based? |
Weight |
Due |
Outcomes Assessed |
Assignment |
No |
30% |
Multiple Weeks |
5, 6, 7 |
Quiz |
Yes |
20% |
Multiple Weeks |
1, 2, 3, 7 |
Final Exam |
No |
50% |
Exam Period |
1, 2, 3, 5, 6 |
Attribute |
Method |
Design (Level 2) |
designing efficient solutions to given problems and scenarios, critical thinking, creativity,critically evaluate existin gunderstanding and evaluate limitations of own knowledge |
Maths/Science Methods and Tools (Level 2) |
Fundamental concepts that are relevant in many areas of science and engineering |
Information Seeking (Level 2) |
Located required information efficiently and effectively |
Communication (Level 2) |
Collaboration in tutorials and exchange of ideas to solve algorithmic problems |
Activity |
Hours per Week |
Sessions per Week |
Weeks per Semester |
Lecture |
2.00 |
1 |
13 |
Tutorial |
2.00 |
1 |
13 |
Independent Study |
8.00 |
|
13 |
While the University is aware that the vast majority of students and staff act ethically and honestly, it is opposed to and will not tolerate academic dishonesty or plagiarism and will treat all allegations of dishonesty seriously.
All students are expected to be familiar and act in compliance with the relevant University policies, procedures and codes, which include:
- Resubmit (or “recycle”) work that you have already submitted for assessment in the same unit or in a different unit or previous attempt;- Use assignment answers hosted on the internet, including those uploaded to document sharing websites by other students.- Have someone else complete part or all of an assignment for you, or do this for another student.- Except for legitimate group work purposes, providing assignment questions and answers to other students directly or through social media platforms or document (“notes”) sharing websites, including essays and written reports.- Engage in examination misconduct, including using cheat notes or unapproved electronic devices (e.g., smartphones), copying from other students, discussing an exam with another person while it is in progress, or removing confidential examination papers from the examination venue.- Engage in dishonest plagiarism.
Plagiarism is using someone else’s ideas, words, formulas, methods, evidence, programming code, images, artworks, or musical creations without proper acknowledgement. If you use someone’s actual words you must use quotation marks as well as an appropriate reference. If you use someone’s ideas, formulas, methods, evidence, tables or images you must use a reference. You must not present someone’s artistic work, musical creation, programming code or any other form of intellectual property as your own. If referring to any of these, you must always present them as the work of their creator and reference in an appropriate way.
Plagiarism is always unacceptable, regardless of whether it is done intentionally or not. It is considered dishonest if done knowingly, with intent to deceive or if a reasonable person can see that the assignment contains more work copied from other sources than the student’s original work. The University understands that not all plagiarism is dishonest and provides students with opportunities to improve their academic writing, including their understanding of scholarly citation and referencing practices.
There will always be some degree of text-matching when using Turnitin. Text-matching may occur in use of direct quotations, technical terms and phrases, or the listing of bibliographic material. This does not mean you will automatically be accused of academic dishonesty or plagiarism, although Turnitin reports may be used as evidence in academic dishonesty and plagiarism decision-making processes.
Computer programming assignments may also be checked by specialist code similarity detection software. The Faculty of Engineering & IT currently uses the MOSS similarity detection engine (see http://theory.stanford.edu/~aiken/moss/) . These programs work in a similar way to TII in that they check for similarity against a database of previously submitted assignments and code available on the internet, but they have added functionality to detect cases of similarity of holistic code structure in cases such as global search and replace of variable names, reordering of lines, changing of comment lines, and the use of white space.
https://web.timetable.usyd.edu.au/calendar.jsp
Week |
Topics/Activities |
Week 1 |
Unit introduction, algorithms and complexity, motivation and course outline. Overview of graphs, motivating example problems text/plain |
Week 2 |
Greedy algorithms, scheduling and shortest paths text/plain |
Week 3 |
More on greedy algorithms text/plain |
Week 4 |
Divide and conquer, recurrences, sorting text/plain |
Week 5 |
Dynamic programming, scheduling, subset sums, sequence alignment text/plain |
Week 6 |
Network flows, maxflow mincut theorems, matching text/plain |
Week 7 |
More on flows, intro to complexity theory |
Week 8 |
introduction to complexity theory, Polynomial time and NP, reductions text/plain |
Week 9 |
Intractability, approximation algorithms text/plain |
Week 10 |
approximation algorithms, vertex cover text/plain |
Week 11 |
computational intractability text/plain |
Week 12 |
optimization problems. local search text/plain |
Week 13 |
review |
Exam Period |
Assessment Due: Final Exam |