COMP3711: Design and Analysis of Algorithms
(Fall 2015)

 

 

 

Course Information

Schedule & Notes

Assignments

Tutorials

Written assignments:

·       Written assignment 1 (Due: Oct 2) Solutions

·       Written assignment 2 (Due: Oct 16) Solutions

·       Written assignment 3 (Due: Nov 12) Solutions

·       Written assignment 4 (Due: Dec 4) Solutions

Programming assignments (bonus):

·       Programming assignment 1 (Due: Oct 9)

·       Programming assignment 2 (Due: Oct 30)

·       Programming assignment 3 (Due: Nov 19)


Important notes on how to answer questions that involve designing an algorithm:

Your solution should consist of the following 4 components: (i) the main ideas of your algorithm (this part is not compulsory, but it will help you gain partial credits if your algorithm is not completely correct), (ii) pseudocode or plain language description of the algorithm, (iii) an analysis (usually, of the running time) of your algorithm, and (iv) a proof of correctness for your algorithm (especially for greedy and graph algorithms) unless it is obvious.


The assignments are to be turned in by 9 pm on the due date. There will be a collection rack outside room 4210, for both the written and programming assignments. No late assignments will be accepted. In exceptional circumstances (illness, university business, or religious observances) extensions may be granted. However, all extensions must be approved by me before the due date.

The primary benefit of working on the assignments is to prepare for the exams, because exam questions are often variants of assignment problems. For this reason I encourage you to spend time alone thinking about each problem and your approach in solving it. You are allowed to and encouraged to discuss assignment problems with your classmates. However, you must write up the solutions on your own. In particular:

1.     Assignment solutions must be written in your own words (not copied or modified from someone else's write-up).

2.     You must understand your solution and its derivation. (I may ask you to explain your solution to me.)

3.     You must acknowledge your collaborators (whether or not they are classmates) or any other outside sources on each assignment.

Failing to do any of these will be considered plagiarism, and may result in a failing grade in the course and notification for appropriate disciplinary action.


Grading policy for programming assignments: The programming assignments are intended for you to experiment with the implementation and practical performance of algorithms on your own. As such, they will only be graded as “completed” or “incomplete”. Each “completed” programming assignment will add 1 point to your overall score at the end of the semester.

 


Past final exam papers: