Use the Tab and Up, Down arrow keys to select menu items.
This course teaches a range of fundamental algorithms and analyses their complexity.
This course deals with the fundamentals of algorithms and data structures. The course starts with basic data structures and algorithm paradigms. Then we proceed to efficient sorting algorithms and graph algorithms, followed by a discussion of combinatorial generation. Finally we cover some important application oriented topics, including pattern matching, computational geometry, and number theory algorithms.Part 1: Data structures, sorting, graph algorithms, combinatorial generationPart 2: Pattern matching, computational geometry, number theoretic algorithms
Students will develop the necessary skills for designing and implementing efficient algorithms for a wide range of practical problems, and will be able to analyse and compare different algorithms used in an application domain.
(1) COSC121; (2) COSC122; (3) 15 points from Mathematics, Statistics, Engineering Mathematics or MSCI110. MATH101 is not acceptable. MATH120/STAT101 are strongly recommended.
COSC202, COSC229, COSC329
Depending on final student numbers, some of the advertised lab/tutorial streams may not run. Final lab/tutorial options will be available for self-allocation closer to the start of the semester through My Timetable.
Ramakrishnan Mukundan
Tad Takaoka
No assignments will be accepted after the drop-dead date. The penalty for the late submission of an assignment will be an absolute deduction of 15% of the maximum possible mark.
Recommended Reading:• Goodrich and Tamassia (recommended text), Algorithm Design, John Wiley & Sons, 2002. • Horowitz, Sahni, and Rajasekaran, Computer Algorithms, Macmillan, 1997 (or newer editions). • Steven S. Skiena, The Algorithm Design Manual, Springer, 2nd Ed, 2008. • Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 3rd edition, The MIT Press, 2009
Course Information on Learn
There are several important documents available online about departmental regulations, policies and guidelines at the following site. We expect all students to be familiar with these. Notices about this class will be posted to the class forum in the Learn system.COSC students will also be made members of a class called “CSSE Notices”, where general notices will be posted that apply to all classes (such as information about building access or job opportunities).
The Computer Science department's grading policy states that in order to pass a course you must meet two requirements:1. You must achieve an average grade of at least 50% over all assessment items.2. You must achieve an average mark of at least 45% on invigilated assessment items.If you satisfy both these criteria, your grade will be determined by the following University- wide scale for converting marks to grades: an average mark of 50% is sufficient for a C- grade, an average mark of 55% earns a C grade, 60% earns a B- grade and so forth. However if you do not satisfy both the passing criteria you will be given either a D or E grade depending on marks. Marks are sometimes scaled to achieve consistency between courses from year to year. AegrotatsIf factors beyond your control (such as illness or family bereavement) prevent you from completing some item of course work (including laboratory sessions), or prevent you from giving your best, then you may be eligible for aegrotat, impaired performance consideration or an extension on the assessment. Details of these may be found in the University Calendar. Supporting evidence, such as a medical certificate, is normally required. If in doubt, talk to your lecturer.
Domestic fee $748.00
International fee $3,388.00
* All fees are inclusive of NZ GST or any equivalent overseas tax, and do not include any programme level discount or additional course-related expenses.
For further information see Computer Science and Software Engineering .