COMP2007: ALGORITHMS AND COMPLEXITY

COMP2007: ALGORITHMS AND COMPLEXITY

1. INTRODUCTION
This unit provides an introduction to the design and analysis of algorithms. The main aims are: To learn how to develop algorithmic solutions to computational problem, and; To develop understanding of algorithm efficiency and the notion of computational hardness.
2. LEARNING OUTCOMES
Learning outcomes are the key abilities and knowledge that will be assessed in this unit. See assessment summary table below for details of
which outcomes are assessed where. Outcomes are listed according to the course goals that they support.
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-conquer
2. 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 problems
6. Ability to analyze the complexity of a given algorithm
Engineering/IT Specialisation (Level 2)
7. Basic experience of implementing algorithms
For further details of course goals related to these learning outcomes, see online unit outline at http://cusp.eng.usyd.edu.au/students/view-unit-page/alpha/COMP2007 .
3. ASSESSMENT TASKS
ASSESSMENT SUMMARY
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
ASSESSMENT DESCRIPTION
Assignment: Five assignment, that may include implementations of algorithms.
Quiz: Short weekly quizzes on e-learning.
Final Exam: Final Examination
ASSESSMENT GRADING
Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator. It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.
4. ATTRIBUTES DEVELOPED
Attributes listed here represent the course goals designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment sections above for details of how these attributes are assessed.
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
For further details of course goals and professional attribute standards, see the online version of this outline at http://cusp.eng.usyd.edu.au/students/view-unit-page/alpha/COMP2007 .
5. STUDY COMMITMENT
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
Standard unit of study workload at this university should be from 1.5 to 2 hours per credit point which means 9-12 hours for a normal 6 credit point unit of study. For units that are based on research or practical experience, hours may vary. For lecture and tutorial timetable, see University timetable site at: web.timetable.usyd.edu.au/calendar.jsp
6. RESOURCES
PRESCRIBED TEXTBOOK(S)
Jon Kleinberg and Eva Tardos, Algorithm Design. Addison Wesley,
COURSE WEBSITE(S)
USyd e-Learning (WebCT)
7. ENROLMENT REQUIREMENTS
ASSUMED KNOWLEDGE
MATH1004.
PREREQUISITES
INFO1105 OR INFO1905.
8. POLICIES
ACADEMIC HONESTY

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:

- Academic Honesty in Coursework Policy 2015
- Academic Honesty Procedures 2016
- Code of Conduct for Students
- Research Code of Conduct 2013 (for honours and postgraduate dissertation units)
They can be accessed via the University''s Policy Register: http://sydney.edu.au/policies (enter "Academic Honesty" in the search field).
Students should never use document-sharing sites and should be extremely wary of using online “tutor” services. Further information on academic honesty and the resources available to all students can be found on the Academic Integrity page of the University website:
Academic Dishonesty and Plagiarism
Academic dishonesty involves seeking unfair academic advantage or helping another student to do so.
You may be found to have engaged in academic dishonesty if you:
- 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 means presenting another person’s work as if it is your own without properly or adequately referencing the original source of the work.

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.

USE OF SIMILARITY DETECTION SOFTWARE
All written assignments submitted in this unit of study will be submitted to the similarity detecting software program known as Turnitin. Turnitin searches for matches between text in your written assessment task and text sourced from the Internet, published works and assignments that have previously been submitted to Turnitin for analysis.

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.

IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.
In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.
Other policies
See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
9. WEEKLY SCHEDULE
Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar

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

发表评论

电子邮件地址不会被公开。 必填项已用*标注