Theory of Computer Algorithms
Instructor: Ivona Bezakova, email: my_initials at cs.rit.edu (humans please replace my_initials by ib)
Class meets: Mo/We 10-11:50am, room 86-1110 (Mo) - this classroom has been changed from
the original location in building 23, 70-2455 (We)
(No lecture Dec 19th, 2007.)
Office hours: Mo 8-9pm, Tu 11am-12pm, Th 2:30pm-4:30pm,  
part-time students also by appointment,   office 70-3645
Tutoring center: about 20 hours of tutoring per week
(follow this link
to see the schedule and more information)
0. Homework and Reading
Assigments
For information about topics covered in the class,
reading and homework assignments, follow this
link.
1. Text
Algorithm
Design by Jon Kleinberg and Eva Tardos.
This webpage:
http://www.cs.rit.edu/~ib/Classes/CS800_01_Winter07-08/index.html
2. Course description and intended learning outcomes.
This course provides an introduction to the design and analysis of algorithms.
It covers a large number of classical algorithms and their complexity and will
equip students with the intellectual tools to design, analyze, implement, and
evaluate their own algorithms.
Intended learning outcomes:
-
Students should demonstrate an understanding of basic concepts related to the design and analysis of algorithm.
-
Students should demonstrate knowledge of classical algorithms and their complexity.
-
Students should be able to design and analyze their own algorithms.
-
Students should implement, experiment with, compare, and report on various algorithmic solutions to the same problem.
3. Grading Policy
-
Final, 25%.
The final will take place on February 27th, 6-7:50pm, room TBD.
-
Midterm, 25%.
The midterm will take place on Wednesday, January 23, 2008,
in class.
If your score on the final is better than your score on the midterm, your
final will contribute 30% toward your final grade and your midterm
will contribute 20%.
-
Quizzes, 10%.
There will be seven weekly quizzes, every week except for the first week,
the third week and the week of the midterm.
The quizzes will take place on Wednesdays, 10-10:10am, in
class. Each quiz will ask about material from the previous week (including the
homework due the previous Friday).
The two lowest quiz grades will be dropped and
the remaining five grades contribute evenly towards your final grade.
-
Homeworks, 30%.
There will be seven weekly homeworks, due Friday 10am
(every week except for the first week, the week of the midterm, and the week
when the project is due).
Homework assignments will be posted on the webpage a week before they are due.
The two lowest homework grades will be dropped and
the remaining five grades contribute evenly towards your final grade.
(A zero given for cheating cannot be dropped.)
You may choose to do the homeworks individually or in pairs.
If you are working in a pair, both partners should solve the homeworks together
and both partners are responsible for the final submission (both partners
need to be able to explain every part of the submission). In particular, you
should not divide the problems and solve only some of them while
your partner solves the rest.
-
Project, 10%.
There will be a programming project which will be specified by the end of
the 3rd week. You will be asked to implement several algorithms, compare
their performance, and summarize the comparison in a report.
The final reports are due February 9, 2008, 11:59pm, to be uploaded on MyCourses.
Grading scale: 90%-100%: A, 80%-90%: B, 70%-80%: C, 60%-70%: D, 0%-60%: F.
However, your overall grade cannot be more than one letter better than your
average exam grade. Moreover, average exam grade F results in failing the
class.
4. Topics
-
Asymptotic analysis
-
Greedy algorithms
-
Dynamic programming
-
Graph algorithms
- Traversals
- Minimum spanning trees
- Single source shortest path
- All pairs shortest path
- Network flow
-
Overview of heuristics and approximation
-
Other topics such as linear programming and randomized algorithms.
Please e-mail me any other topics you would like to see discussed in class.
5. Technical issues
-
You are free to discuss the current homeworks and the project with only your
partner, the instructor, and the tutors. Discussions with anybody else,
including looking up the solutions online or in the literature other than the
course book, are not permitted.
You are encouraged to discuss any class material and
homeworks that have been already handed in with your peers, in the tutoring
center, with the instructor, or anybody else whom you make listen :)
-
All homeworks are due on Fridays, 10am. No late submissions will be tolerated.
I will stop answering homework related e-mails on Thursdays, 4:30pm.
You will have a week to complete each homework and the assignments will be
posted on the webpage on Fridays.
-
Handing in your homeworks:
-
Coding part of the homework has to be uploaded on MyCourses by Friday, 10am.
(Specific instructions for the coding part will be specified in the first
week of the quarter.)
-
Non-coding part may be
- uploaded on MyCourses by Friday 10am, or
- brought to the CS main office by Friday 10am
(if you want to hand in the homework
after/before hours, slide it under the CS main office door in an envelope
with words "800 Homework"), or
- given to me in class or during office hours.
-
Exams are closed book, closed notes. You may prepare one letter-size
hand-written "summary sheet" (no photocopies).
- Homework or exam grade can be disputed within one week
after the graded work is handed back. Dispute the grade with the instructor,
not the grader. Your grades will be posted on MyCourses.
-
The midterm and the final cannot be made up unless a true emergency arises
(a proper documentation is required in such cases).
- Hopefully there is no need to link to the departmental
policy
on academic honesty. In the unfortunate event when cheating
earns a 0 score on a homework, the two lowest non-cheating scores
will be dropped. Also note that second offenses result in an F in the course.