Anda di halaman 1dari 2

CS161, Winter 2011 Handout #1


Course overview: Introduction to fundamental techniques for designing and analyzing algorithms, includ-
ing asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; data structures;
dynamic programming; graph algorithms; and randomized algorithms.
Course staff:
• Instructor: Tim Roughgarden (
• Head TA: Kshipra Bhawalkar (
• TA: Michael Abercrombie (

• TA: Daniel Chen (

• TA: Zavain Dar (
• TA: Steven Elia (

• TA: Moontae Lee (

• TA: Karl Uhlig (

Lectures: Tuesdays and Thursdays, 9:30 – 10:45 AM, room 370-370.

Course home page:
Newsgroup and email list: The staff email list is We
will be using the discussion forum on the course’s Courseware site in lieu of a newsgroup. Please use the
discussion forum for questions whenever possible.
Office hours: Office hours begin the week of January 10th.

• Tim: Tuesdays 1–2 PM and by appointment (Gates 462)

• Moontae: Tuesdays 4:30–6:30 PM (Gates 100)
• Daniel: Wednesdays 9:30–11:30 AM (Clark S297)
• Steven: Wednesdays 3–5 PM (Gates B24A)

• Zavain: Wednesdays 6–8 PM (460-040A, basement of Margaret Jacks Hall)

• Karl: Thursdays 11 AM–1 PM (Gates B26B)
• Kshipra: Thursdays 1:30–3:30 PM (Gates 200)

• Michael: Thursdays 4–6 PM (Huang Engineering Center, 1st floor, around Ike’s.)

Section: There will not be a weekly section. However, the TAs will run occasional review sessions (e.g.,
before the final).
Required textbook: Kleinberg and Tardos, Algorithm Design, 2005. We will be covering most of Chapters
4–6, some parts of Chapter 13, and a couple of topics not in the book.

Prerequisites: Introduction to proofs, and discrete mathematics and probability (e.g., CS 103 and Stat
116). If you have not taken a probability course, you should expect to do some independent reading during
the course on topics including random variables, expectation, conditioning, and basic combinatorics.
Homeworks: There will be 7 homework assignments, each worth 30 points. We will drop your lowest
homework score, so your final homework total will be out of 180 points. Each homework will go out on a
Thursday and will be due on the Friday of the following week, by noon. Completed homework should be
placed in the homework drop-box labeled “CS161” in the filing cabinet near the side entrance to the Gates
building (in the 1B wing). Your dropped homework score is intended to cover all of the usual reasons for
extension requests. For this reason, no late homeworks will be accepted. (In particular, this course has
no “late days”.) Exceptions will be granted only in the case of a severe medical emergency.
Honor Code and collaboration policy: Under the Honor Code at Stanford, each of you is expected
to submit your own work in this course. In particular, I explicitly disallow the use of any material outside
the prescribed textbook and my handouts in class for solving the homeworks and exams. While you are
not permitted to receive aid from other people, I will make the following exception. On many occasions,
it is useful to ask others (TAs, the instructor, and other students) for hints and debugging help, or to talk
generally about problem-solving strategies and presentation — the type of advice you would expect to get
from the instructor and TAs during their office hours. Such activity is both acceptable and encouraged, but
you must indicate on your assignments any assistance you receive. Any assistance received (from human or
inanimate sources) that is not given proper citation may be considered a violation of the Honor Code.
In any event, you are responsible for understanding and being able to explain all of the statements in your
homeworks and exam solutions. Most importantly, the solutions must be written up independently of the
other students.
Challenge Problems: I try to design homework problems so that most of you can come up with a correct
solution in a reasonable amount of time. As a consequence, the most well-prepared CS161 students may not
feel sufficiently challenged by the homeworks. To rectify this, I will include “challenge problems”. These will
typically be substantially more difficult than the required homework problems, and are completely optional.
While correct solutions will be awarded extra credit (up to 10 points per problem), I want to be clear: these
problems are meant to push your problem-solving abilities, rather than as a time-effective way of increasing
your score in the course. We will also be less generous with partial credit for challenge problems than with
required ones.
Handouts and graded homework: All handouts, save for homework and exam solutions, will be available
from the course home page. All handouts, as well as graded homeworks not picked up in class, will be placed
in the “Handout Hangout.” This is located on the fourth floor of the Gates building, just beyond the elevator
in the hallway leading to the B wing.
Mid-Quarter Project: There will also be some type of programming project around the middle of the
quarter, graded out of 70 points. Stay tuned for further details.
Final Exam: The final exam will take place at the officially scheduled time: Friday, March 18th, 12:15
– 3:15 PM. (Location TBA.) The exam will be worth 150 points. The exam is closed book and closed
computer, but you are permitted one (double-sided) sheet of notes. There may or may not be an alternative
exam time earlier in week; stay tuned for details.
Final grades: Your homework, project, and exam scores will be added to give you a point total for the
class (out of 400). I anticipate the median score to correspond to a “B” grade, though this could change (in
either direction).