CompSci 260: Fundamentals of the Design and Analysis of Algorithms
- Class Meetings (Fall 2012)
- Lecture: Tu Th 9:30-10:50am in DBH 1500
- Instructor
- Professor Dan Hirschberg -- dan (at) ics.uci.edu
office hours by appointment in DBH 4226
- Teaching Assistant:
this class has not been assigned any teaching assistant
- Prerequisites
- CompSci 161 (Design and Analysis of Algorithms) or equivalent undergraduate algorithms course
- Add/Drop Policy
- All adds and drops will be handled by authorization code available from the instructor
- Adds are subject to class capacity constraints; priority given to ICS graduate students
- No adds allowed after the first week of classes
- No drops allowed after the second week of classes
- Course Text
- Required: Kleinberg and Tardos,
Algorithm Design,
Addison Wesley, 2006.
-
The course will cover the first eight chapters of this book,
along with a small number of supplementary readings.
This book will be placed on reserve in the science library.
- List of Topics
The following schedule is approximate
and may change over the course of the quarter.
- Week 1: Introduction. The Stable marriage problem. [KT Chapter 1]
- Week 2: Basics of Algorithm Analysis. [KT Chapter 2]
- Week 3: Basics of Graph Algorithms. [KT Chapter 3]
- Week 4: Greedy Algorithms. Shortest Paths. Minimum Spanning Trees. [KT Chapter 4]
- Week 5: Divide and Conquer, part 1. [KT Sections 5.1-5.5]
- Week 6: Divide and Conquer, part 2. [KT Sections 5.6, 13.5]. Dynamic Programming, part 1. [KT Sections 6.1-6.3]
- Week 7: Dynamic Programming, part 2. [KT Sections 6.4-6.9]
- Week 8: Network Flow. [KT Sections 7.1-7.7]
- Week 9: Linear programming [Notes to be provided]. NP-completeness, part 1. [KT Sections 8.1-8.2]
- Week 10: NP-completeness, part 2. [KT Sections 8.3-8.5]
- Course Notes (access password given in class)
Note that you are responsible for all material covered
in lecture, discussion, and the relevant portions of the
textbook, even if it does not appear in the lecture notes.
- Grading
- 10% -- homework
- 50% -- two midterms (25% each): tentatively scheduled during weeks 4 and 8
no make-up midterms will be given, so do not miss them
- 40% -- final exam: Th of week 11, 8-10am
- Homework assignments
- Masters Comprehensive Exam
- This course may be used as part of the comprehensive exam in the
computer science masters program. To pass the comprehensive exam,
students must get an A- or better on the 260 Final Exam.
- Students who wish to take the comprehensive exam
but are not enrolled in the course should contact me by email before
the end of week 2 of the quarter to reserve a seat in the exam.
Include your full name and UCI Student ID #, and send the
request from your UCI email account (to prevent identity theft).
Students without reservations will not be permitted to sit for the exam.
- Academic Dishonesty
- Instances of academic dishonesty will be reflected
in the final grade (usually an F) because dishonesty devalues
the learning experience for the whole class.
Additional consequences may occur at the academic unit or the campus level.
- Examples of academic dishonesty include, but are not limited to:
- copying from others during an examination
- communicating exam answers with other students during an examination
- using unauthorized materials during an examination
- allowing another student to copy off your work during an examination
- tampering with an examination after it has been corrected, then returning it for more credit
- For more complete information about academic honesty policies,
consult the
Academic Senate Policy on Academic Honesty
- Communication
If you send me email with course-related questions:
- include the string "CompSci 260:" at the start of the subject line
- include your name and UCI Student ID number in the message
- if you are not writing from your official UCI email address,
please cc your official UCI email address
(This protocol enables me to weed out requests for help
on problems from non-UCI students.)
Last modified: Dec 11, 2012