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 4:00-5:50pm, room GOL(70)-1610
Office hours (new, as of January 10): Mo 2-3pm and 8-8:30pm, We 8-8:30pm, Th 11am-12pm and 1-2pm, office 70-3645
(For the evening office hours, please come at 8pm - I may leave with the last person.)
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. Prerequisites
Discrete math (need to pass 4003-700 or an equivalent course with a grade B or better) and programming in C/C++ or Java (need to pass 4003-703/707
or equivalent courses with a grade B or better).
2. Text
Algorithm
Design by Jon Kleinberg and Eva Tardos.
This webpage:
http://www.cs.rit.edu/~ib/Classes/CS800_01_Winter10-11/index.html
3. 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.
4. Grading Policy
-
Final, 30%.
The final will take place on Wednesday, February 23rd, 6-7:50pm, room TBD. More information about the final exam will appear on the
final exam webpage in week 10.
-
Midterm, 30%.
The midterm will take place on Wednesday, January 19, 2011,
in class. More information about the midterm exam will appear on the
midterm webpage in week 5.
If your score on the final is better than your score on the midterm, your
final will contribute 35% toward your final grade and your midterm
will contribute 25%.
-
Quizzes, 10%.
There will be eight weekly quizzes, every week except for the first week and the week of the midterm.
The quizzes will take place at the start of class on Wednesdays in
class and will take about 10 minutes. Study the material from the previous week (including the
homework due the previous Friday).
The two lowest quiz grades will be dropped and
the remaining six grades contribute evenly towards your final grade.
-
Homeworks, 30%.
There will be eight weekly homeworks, due Friday 4pm
(every week except for the first week and the week of the midterm).
Homework assignments will be posted on the webpage about a week before they are due.
The two lowest homework grades will be dropped and
the remaining six grades contribute evenly towards your final grade.
You may choose to do the homeworks individually or in pairs.
If you are working as a pair, both partners have to 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
are not allowed to divide the problems and solve only some of them while
your partner solves the rest.
Zeros for cheating will not be dropped.
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.
5. 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.
6. Technical issues
-
You are free to discuss the current homeworks with your classmates, the tutors, and the instructor. After such discussions, you
have to discard all notes, cell phone pictures and other materials you created during these discussions before you write up
the solutions on your own (or with your partner, if working as a pair). During the writing phase you are not allowed to further
discuss the solutions with your classmates. Moreover, you are not allowed to show your code to your classmates.
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, 4pm. No late submissions will be accepted.
I will stop answering homework related e-mails on Thursdays, 2:30pm.
The homework assignments will be usually posted on the webpage at least six days prior to their due date.
-
Handing in your homeworks:
-
Coding part of the homework has to be uploaded on MyCourses by Friday, 4pm.
(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 4pm as a single pdf file, or
- brought to the tutoring center on Friday 3:45pm-4pm and put it in the appropriate envelope, 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.