NOTE: This is a preview. This course outline is not yet visible to the rest of the world.

CSC 225: Algorithms and Data Structures: I

Term Fall 2007
Course Website http://www.csc.uvic.ca/~csc225
Instructor Dr. J. Pan
Email: pan@uvic.ca
Office: ECS 566
Phone Number: 472-5796
Office Hours: MR 1:30 - 2:30 p.m.
Lecture Schedule
(F01)    MWR     2:30 - 3:30 p.m.     ECS 125
Laboratory Schedule Labs begin the week of Sept 10, 2007. Please attend the lab you have registered for. Lab times and locations are available from WebTT.
Textbooks
Required: Algorithms Design, Foundations, Analysis, and Internet Examples
Michael T. Goodrich, R. Tomassia
John Wiley & Sons, ISBN 0-471-38365-1
Course Objectives The performance of a program on small inputs (typical in introductory computer science courses) gives no indication of how an algorithm will perform on the large inputs often found in real applications. In this course, we cover paper and pencil techniques for analysing algorithms for time and space requirements on large inputs without requiring the effort of implementation. Timings of various algorithms illustrate the practicality of the mathematical analysis. Algorithms are compared with respect to their worst, average, and best case performances. Correctness is also an important issue which we address.

The techniques learned in the course are applied to well-studied classical problems including searching, sorting, and some graph theory applications. The study of abstract data types is continued from CSC115 but the focus changes from that of understanding the data types to being able to make knowledgeable choices as to the best data structures for a particular application.
Topics Algorithms and data structures including algorithm design techniques, time and space complexity, recurrence relations. Basic data structures include arrays, linked lists, stacks and queues, advanced data structures covered include binary search tree (such as AVL-trees), data structures for graphs, and the union-find data structure. Sorting algorithms covered include Mergesort, Quicksort, Heapsort, and Radix Sort. A lower bound for comparison based sorting methods is studied. Graph algorithms include Depth First Search, Breadth First Search, Minimum Spanning Tree, and Shortest Path. The algorithm design-techniques considered in the course are backtracking, divide-and-conquer, greedy, and dynamic programming.
Assignments In this course there will be 5 assignments each worth 6% of the final grade. The schedule appears below, but may be changed during the term.
Assignment Schedule
Assignment Weight Due Date
1 6% Sept 21
2 6% Oct 5
3 6% Nov 2
4 6% Nov 16
5 6% Nov 30
Exams There will be a midterm and a final exam. The midterm exam, worth 20%, is on Oct 17, 2007. It is a closed book exam of 50 minute duration. The final exam, worth 50%, will be scheduled by the University.

For courses which have final exams, students are strongly advised not to make final plans for travel or employment during the exam period since special arrangements will not be made for examinations that may conflict with such plans.
Grading
Coursework Weight (out of 100%)
Assignments 30%
Midterm Exam 20%
Final Exam 50%

All students must score at least 50% in the combined total of assignments and at least 50% in combined examination grades in order to obtain a passing grade in the course. A minimum passing grade is D. No E grades or supplemental examinations will be given.

Final Grades are obtained by converting the numerical scores using the conversion table below. The dividing line between grades may be adjusted by up to 3% to account for natural breaks in the numeric scores. Further, the "out of" values for the midterms and final may be adjusted downward to account for the difficulty of the exams.

F D C C+ B- B B+ A- A A+
0-49 50-54 55-59 60-64 65-69 70-74 75-79 80-84 85-89 90-100
Posting Of Grades Term marks, provisional final grades and final grades will be posted by student number. NO NAME WILL APPEAR. These postings are for your information and for your validation of the data entry. If you do not wish your term marks and grades to be publicly posted in this manner, please notify the course instructor by e-mail no later than Sept 14, 2007.
Csc Student Groups The Computer Science Course Union

Women in Engineering and Computer Science
Your Responsibilities Email communication: In accordance with departmental policy, you should only expect a response to e-mail if you sent it from a UVic account.
Attending class: The book gives a guide to the material covered, but the instructor will introduce additional material and viewpoints. If you must miss a class, you should obtain notes from a student who was present. In general, lecture notes will NOT be posted.
Reading (and understanding) the relevant material in the text: The schedule will indicate the material relevant to each of the lectures. Not all material will be covered in lectures. This is your primary responsibility in getting through the course.
Doing the homework: The assignments are an integral part of the course and you cannot learn the material without doing them. Many exam questions will be directly related to the assignments.
Course Policies And Guidelines Late Assignments: No late assignments will be accepted unless prior arrangements have been made with the instructor at least 48 hours before the assignment due date.
Coursework Mark Appeals: All marks must be appealed within 7 days of the mark being posted.
Attendance: We assume that students attend all lectures. For courses with a laboratory component, we also assume students attend all labs. It is entirely the students' responsibility to recover any information or announcements presented in lectures from which they were absent.
Electronic Devices: No unauthorized audio or video recording of lectures if permitted.
Calculators are only permitted for examinations and tests if explicitly authorized and the type of calculator permitted may be restricted. No other electronic devices (e.g. cell phones, pagers, PDA, etc.) may be used during examinations or tests unless explicitly authorized.
Plagiarism: Submitted work may be checked using plagiarism detection software. Cheating, plagiarism and other forms of academic fraud are taken very seriously by both the University and the Department. You should consult http://web.uvic.ca/calendar2006/FACS/UnIn/UARe/PoAcI.html for the UVIc policy on academic integrity. Note that the university policy includes the statement that "A largely or fully plagiarized assignment should result in a grade of F for the course".

The Faculty of Engineering Standards for Professional Behaviour is at http://www.engr.uvic.ca/policy/professional-behaviour.html

The department guidelines concerning fraud are at http://www.csc.uvic.ca/courses/policies/fraud.html

Department Policies: A list of department policies regarding all courses may be found at http://www.csc.uvic.ca/courses/policies/index.html

This course aims to provide equal opportunities and access for all students to enjoy the benefits and privileges of the class and its curriculum and to meet the syllabus requirements. Reasonable and appropriate accommodation will be made available to students with documented disabilities (physical, mental, learning) in order to give them the opportunity to successfully meet the essential requirements of the course. The accommodation will not alter academic standards or learning outcomes, although the student may be allowed to demonstrate knowledge and skills in a different way. It is not necessary for you to reveal your disability and/or confidential medical information to the course instructor. If you believe that you may require accommodation, the course instructor can provide you with information about confidential resources on campus that can assist you in arranging for appropriate accommodation. Alternatively, you may want to contact the Resource Centre for Students with a Disability located in the Campus Services Building.

The University of Victoria is committed to promoting, providing, and protecting a positive, and supportive and safe learning and working environment for all its members.