CSC520: Analysis of Algorithms
Course Dates
CRN(s): Section A01 CRN: 10855
Term: Fall 2016
Classes Start: 2016-09-07
Classes End: 2016-12-02
Cross-listed With
Cross-Listed Course(s): CSC425
Scheduled Meeting Times (M=Mon, T=Tue, W=Wed, R=Thu, F=Fri)
Section: Location: Days of week: Hours of day: Instructor:
A01MAC D116TWF12:30-13:20Wendy Myrvold
Instructor(s)

Name: Wendy Myrvold
Office: ECS 552
Phone: (250) 472-5783
Email: wendym at cs dot uvic dot ca

Office Hours:Comments
Tue10:45am-12:10pm 
Wed10:45am-12:10pm 
Fri10:45am-12:10pm 

Course Connex Site:

For private course materials and for electronic assignment submission:
https://connex.csc.uvic.ca/x/YK3qiT

Course Web Pages:

For public course materials:
http://webhome.cs.uvic.ca/~wendym/425.html

Course Overview

General techniques for designing and analyzing algorithms; an in-depth examination of several problems and algorithms with respect to their time and space requirements; advanced data structures; sorting and searching; graph algorithms; backtracking; NP-complete problems; approximation algorithms.

Topics

Algorithm Design Techniques covered will include a selection of the following:

  • graph algorithms,
  • greedy algorithms,
  • divide and conquer,
  • dynamic programming, and
  • network flows.


Students will be introduced to intractable problems and tactics for tackling them such as:

  • approximation algorithms,
  • backtracking,
  • randomized algorithms,
  • restriction to specific classes of sub-problems are easier to solve.
Course Objectives And Learning Outcomes

The students will:

  • master the basic tools for design and analysis of algorithms,
  • be able to describe, analyze the time and space requirements, and step through examples of classical algorithms,
  • learn to design and analyze their own algorithms,
  • be able to compare various algorithmic solutions to the same problem,
  • get to the mathematical core of problems,
  • improve mathematical and algorithmic writing,
  • identify appropriate algorithms and data structures for problems,
  • translate algorithms into working programs,
  • understand algorithm design methodologies, and
  • identify of difficult questions and find strategies to cope with them.
Textbooks
Required: Algorithm Design (paper back or hard cover)
by Jon Kleinberg and Eva Tardos
Addison Wesley,
ISBN-10: 0321295358 ISBN-13: 978-0321295354
Assignments

There will be 4 assignments of equal weight worth 20%.

Please see the course web page for up to date deadlines for assignments. The projected deadlines are:


  • Assignment #1: due Friday Sept. 23.
  • Assignment #2: due Friday Oct. 7.
  • Assignment #3: due Tuesday Nov. 8.
  • Assignment #4: due Friday Dec. 2.
Project Submissions

CSC 520 students will have a project involving two programming challenges.

Students will have 3 opportunities to submit their two programs to be evaluated for correctness, running time, and quality of solutions found. Project submission 1 is worth 5%, and project submission 2 is worth 5%.


Please see the course web page for up to date deadlines for project submissions. The projected deadlines are:

  • Project submission 1: due Friday Oct. 21.

  • Project submission 2: due Friday Nov. 18.


The final project submission is worth 20% and is due on Monday December 12 at 11:59 pm.

Late Assignments or Project Submissions

Assignments (with the exception of the last assignment) and Project Submissions can be handed in up to 4 days late with a 10% penalty for each day past the deadline. Late submissions for the final assignment must be handed in at most 4 days late with a 10% penalty for each day it is late but will not be accepted any later than 2 days before the final exam.

Course Policies On Collaborative Work

Assignments:
Students are encouraged to work in study groups. However, final assignment submissions should be generated independently. You are expected to solve the problems yourself. Copying solutions from others, the web, or any other source will be considered a serious academic offense and may result in failure of the course.

Programming:
All code submitted must be your original work. If you use code taken from the internet, an API, other students, previous model solutions or other sources and submit it as your own work you will not get credit for that code. Further if your source is not acknowledged, you are subject to disciplinary action according to the department policies for plagiarism.

Exams

There will be one midterm exam worth 20%. The midterm is in class on Friday October 14, 2016.

The final exam worth 30% 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 (4) 20%
Midterm exam (Friday Oct. 14, in class) 20%
Final exam (to be schedule by the university) 30%
Project 30%
Course Mark Appeals

If there has been an error in marking any of your course work, please resubmit your work with a description of the error. Appeals can be done at any time, but you are encouraged to ask for a regrade within 7 days of receiving the marked work.

Grading System

The University of Victoria follows a percentage grading system in which the instructor will submit grades in percentages. The University will use the following Senate approved standardized grading scale to assign letter grades. Both the percentage mark and the letter grade will be recorded on the academic record and transcripts.

F D C C+ B- B B+ A- A A+
0-49 50-59 60-64 65-69 70-72 73-76 77-79 80-84 85-89 90-100
Grades Description
A+ Exceptional work. Technically flawless and original work demonstrating insight, understanding and independent application or extension of course expectations; often publishable.
A Outstanding work. Demonstrates a very high level of integration of material demonstrating insight, understanding and independent application or extension of course expectations.
A- Excellent work. Represents a high level of integration, comprehensiveness and complexity, as well as a mastery level of relevant techniques/concepts.
B+ Very good work. Represents a satisfactory level of integration, comprehensiveness and complexity; demonstrates a sound level of analysis with no major weakness.
B Acceptable work that fulfills the expectations of the course. Represents a satisfactory level of integration of key concepts/procedures. However, comprehensiveness or technical skills may be lacking.
B- , C+, C, D Unacceptable work revealing some deficiencies in knowledge, understanding or techniquesy. Represents an unacceptable level of integration, comprehensiveness and complexity. Mastery of some relevant techniques or concepts lacking.
F Failing grade. Unsatisfactory performance. Wrote final examination and completed course requirements.
Posting of Grades

Typically marks for assignments, examinations, and provisional final grades, are made available through conneX, or CourseSpaces where each student will be able to view only their own grades. Sometimes numerical marks/grades may be posted publicly to the entire class. In that case, full student numbers or names will not be included with the posted information.

Course Experience Survey (CES)

I value your feedback on this course. Towards the end of term you will have the opportunity to complete a confidential course experience survey (CES) regarding your learning experience. The survey is vital to providing feedback to me regarding the course and my teaching, as well as to help the department improve the overall program for students in the future. When it is time for you to complete the survey, you will receive an email inviting you to do so. If you do not receive an email invitation, you can go directly to the CES site

You will need to use your UVic NetLink ID to access the survey, which can be done on your laptop, tablet or mobile device. I will remind you closer to the time, but please be thinking about this important activity, especially the following three questions, during the course.

  • What strengths did your instructor demonstrate that helped you learn in this course?
  • Please provide specific suggestions as to how the instructor could have helped you learn more effectively.
  • Please provide specific suggestions as to how this course could be improved.
Csc Student Groups

The Computer Science Course Union (https://www.csc.uvic.ca/Program_Information/Undergraduate_Studies/CSCU.htm) serves all students who are either in a computer science program or taking a class in computer science. Please sign yourself up on their mailing list if you would like to be informed about their social events and services.

The Engineering Students' Society (ESS) serves all students registered in an Engineering degree program, including Software Engineering (BSEng). For information on ESS activities, events and services navigate to http://www.engr.uvic.ca/~ess .

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 expect students attend all lectures and labs. It is entirely the students' responsibility to recover any information or announcements presented in lectures from which they were absent.
Electronic devices in labs and lectures: No unauthorized audio or video recording of lectures is permitted.
Electronic devices in midterms and exams: 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/calendar/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 are at http://www.uvic.ca/shared/shared%5fengineering/docs/professional-behaviour.pdf
The department guidelines concerning fraud are at http://www.csc.uvic.ca/courseinfo/policies/fraud.html
Department Policies: A list of department policies regarding all courses may be found at http://www.csc.uvic.ca/courseinfo/policies/index.html

Equality

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.