Analysis of Algorithms (CSCI264), Fall 201516
Instructor: Ivona Bezakova, email: my_initials@cs.rit.edu (please replace my_initials with ib)
Class meets: Tu/Th 5:006:15, room (INS)1160 (Institute Hall)
Office hours (tentative), when classes are in session:
Monday 10:0011:50pm, Tuesday 1111:50pm, Thursday 1111:50pm, office (GOL)3645
Tutoring center: schedule, staffed by students who took (and performed well in) theoryrelated courses in recent years
0. Homework and Reading
Assigments
For information about topics covered in class,
reading and homework assignments, follow this
link.
1. Prerequisites
MATH190 (Discrete Mathematics for Computing) and CSCI243 (The Mechanics of Programming)
or equivalent courses
2. Text
Algorithm Design by Jon Kleinberg and Eva Tardos.
The assignments webpage (that will contain slides from the lectures):
http://www.cs.rit.edu/~ib/Classes/CSCI264_Fall1516/assignments.html
Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein, 3rd ed. is a great text for further reading (optional).
3. Course description and intended learning outcomes.
This course provides a challenging introduction to the design and analysis of algorithms with an emphasis on problem solving and algorithmic research. It covers a variety of classical algorithms and data structures and their complexity, as well as deeper coverage of more advanced material; for example, linear programming, approximation algorithms, and randomized algorithms. The course will equip students with the intellectual tools to design, analyze, implement, and evaluate their own algorithms.
Intended learning outcomes:

Students will be able to explain basic concepts related to the design and analysis of algorithms.

Students will be able to describe classical algorithms and their complexity.

Students will be able to design and analyze their own algorithms.

Students will be able to implement, experiment with, compare, and report on various algorithmic solutions to the same problem.
4. Grading Policy

Final exam, 20%.
More information about the final exam will appear on the final exam webpage in the last week of the semester (about a week before the exam).

Midterm exams, 20%+20%.
There will be two midterm exams: the first is scheduled for Tuesday, September 29, and the second tentatively for Thursday, November 5,
during class time. More information about each midterm exam will appear on the
midterm 1 webpage and the midterm 2 webpage about a week before the respective midterm takes place.
Note:
If your score on the final is better than the average of your midterm scores, the overall exam score will be computed as follows:
25% for the final exam, 20% for the higherscore midterm exam, and 15% for the lowerscore midterm exam.

Homeworks, 36%.
There will a short testthesubmissionsystem homework that contributes 1% towards your final grade; this homework is due September 2.
There will be six regular (almost)biweekly homeworks, due Wednesday, 11:59pm; the first regular homework will be due on September 9.
Homework assignments will be posted on the assignments webpage about two weeks before they are due.
The lowest homework grade will be dropped and the remaining five grades contribute evenly towards 35% 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.

Research talk attendance, 1%.
To be exposed to researchlevel topics, you can attend an instructorapproved research talk and get 1% towards your final grade.
A good option is to attend one of the talks in the Rochesterarea CS theory seminar called
Theory Canal. The talks are not always algorithmic  you are welcome to attend any talk of
your choice. Afterwards, send an email to the instructor with the subject line "CSCI264: Research talk" and
 Include the title and speaker information.
 In a paragraph describe the problem and the results presented.
 Share your own thoughts of the talk.
Note that Theory Canal includes algorithmic as well as other theoretical topics  you are welcome to choose any of the talks.
If attending Theory Canal does not fit your schedule, please discuss options for other research talks with the instructor by the end of October.

Participation in a programming contest, 3%.
Participation in an instructorapproved programming competition will contribue 3% towards your final grade. You can participate individually or in
a team. For example, you can take part in the team selection contest where we identify teams that will represent RIT in the ACM ICPC
(International Collegiate Programming Contest). For other options, please talk to the instructor by the end of October.
Grading scale: 88%100%: A grades (91%100% A, 88%91% A), 77%88%: B grades (85%88% B+, 80%85% B, 77%80% B),
66%77%: C grades (74%77% C+, 69%74% C, 66%69% C),
55%66%: D, 0%55%: 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

Divideandconquer algorithms and recurrences

Greedy algorithms

Dynamic programming

Graph algorithms
 Traversals
 Minimum spanning trees
 Single source shortest path
 All pairs shortest path
 Network flow

The P versus NP problem and NPcompleteness

Other topics such as linear programming, overview of heuristics and approximation,
and randomized algorithms.
Please let me know about 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, students in the other sections, the instructor, and the tutors. After such discussions, you
have to discard all notes, cell phone pictures, and other materials you created during these discussions before you write/code up
the solutions on your own (or with your partner, if working as a pair).
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 (almost)biweekly on Wednesdays, 11:59pm. No late submissions will be accepted.
The homework assignments will be usually posted on the assignments webpage a couple of weeks before their due date.
Sometimes a part of the homework will be posted two weeks before the due date and another part a week before the due date.

Handing in your homeworks:

Coding part of the homework has to be submitted via the try system.
It has to follow the coding requirements.
Specific submission instructions are included with each homework description.

Noncoding part may be
 uploaded to MyCourses by the due date as a combination of pdf, txt, and jpg files 
make sure that your name and the problem number appears when one opens the file (not just as a part of the file name), or
 handed in class or during office hours on Tuesday before the due date.

Exams are closed book, closed notes. You may prepare one lettersize
handwritten "summary sheet" (no photocopies).
 I will stop answering homeworkrelated questions 24 hours before the homework's due date.
 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.

Exams can not be made up except for real emergencies in which case proper documentation (like a doctor's note) will be required. If at all possible, you should contact me prior to the exam. Oversleeping, cars that don't start etc. do not constitute a valid excuse.
 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 lowest noncheating score
will be dropped. Also note that second offenses result in an F in the course.