Office Hours: Tuesdays 1-2pm, Fridays 3-5pm (or by appointment)
Class Info
The class meets Tuesdays and Thursdays, 4:00-5:15pm in MH 111.
cs591-04 E-mail List:
Directions for subscribing to the class email list are here. The
above link also contains an archive of the mailing list.
Final
Final Due: Monday, Dec. 13th at 5pm.
Please drop off in my mailbox on the first floor of FEC or
alternatively in my office (you can slip it under my door if I'm not
around).
You are encouraged to work in groups of two or (preferably) three
people. Each group should turn in a single write-up. Make sure you put
the names of all group members at the top of the hw. Homework grading
is likely to be randomized: instead of grading all problems on an
assignment, only one or two randomly chosen problems will be graded,
and your total score on the assignment will be equal to the score on
the chosen problem(s) times the number of problems solved.
Please cite whatever sources you use for the hws.
Parallel and Distributed Algorithms (Chapter 12 of RM)
Text Books
The class will use the following text book:
Randomized Algorithms by Rajeev Motwani and Prabhakar
Raghavan
Tentative Grading Weights
Project (40%)
Homeworks (about 3-4) (30%)
Final (Takehome) (30%)
Note: the projects and homeworks can be done in groups but the final
must be done without any collaboration.
Grading Methodology
Homework and Final
Your hw and take home final should have the following properties,
these will be the criteria used to determine your hw and final grades.
Clarity: Make sure all of your work and answers are clearly
legible and well separated from other problems. If we can't read it,
then we can't grade it. Likewise, if we can't immediately find all of
the relevant work for a problem, then we will be more likely to grade
only what we see at first.
Completeness: Full credit for all problems is based on both
sufficient intermediate work (the lack of which often produces a
'justify' comment) and the final answer. There are many ways of doing
most problems, and we need to understand exactly how YOU chose to solve
each problem.
Here is a good rule of thumb for deciding how much detail is sufficient:
if you were to present your solution to the class and everyone understood
the steps, then you can assume it is sufficient.
Succinctness: The work and solutions which you hand-in should be
long enough to convey exactly why the answer you get is correct, yet
short enough to be easily digestible by someone with a basic knowledge
of this material.
If you find yourself doing more than half a page of dense algebra,
generating more than a dozen numeric values or using more than a page
or two of paper per problem for your solution, you're probably doing
too much work.
Don't turn in pages with scratch work or multiple answers - if you need to
do scratch work, do it on separate scratch paper. Clearly indicate your
final answer (circle, box, underline, etc.).
Note: It's usually best to rewrite your solution to a problem before you
hand it in. If you do this, you'll find you can usually make the
solution much more succinct.
Project
A significant part of this class is the class project. In this
project, you will apply mathematical tools learned in this class to
solve an algorithmic problem. The project must have a significant
analytical component to it where you demonstrate mastery of
mathematical tools learned in this class. The project should also
contain an empirical component where you do empirical tests which
support or complement your analytical results.
The main deliverable for the class project is a paper no more than
twelve pages in length (not including bibliography and appendix).
This paper should be structured as a standard research paper in that
it should have an abstract, an introduction, a related work section, a
body (containing a section on algorithms a separate section on
analysis and a separate section on empirical results), and a
conclusion and future work section. Your project grade will depend
substantially on this paper.
Prerequisites
A necessary prerequisite for this class is a standard undergraduate
algorithms course (equivalent to our CS 362). Some basic familiarity
with discrete probability is also helpful although not required.
Chernoff Bounds from UC Berkeley
Randomized Algorithms class taught by Luca Tervisan
Policies
Assignment deadlines are strict: late homework will automatically
receive a grade of zero, unless reasonable cause can be shown (which
is easy for one, possible for two, and very hard for three or more!);
no make-up.
Collaboration is encouraged on all of the homeworks. Usual university
policies for withdrawals, incompletes and academic honesty.