CompSci 260: Fundamentals of the Design and Analysis of Algorithms
- Class Meetings (Winter 2025)
- Lecture: Tu Th 9:30-10:50am in PCB 1200
- Discussion: F 10:00-10:50am in ELH 110
No discussion on Friday after midterms
- Instructor
- Professor Dan Hirschberg — dan (at) ics.uci.edu
office hours by appointment in person in DBH 4226 or on Zoom
- Teaching Assistant:
Ofek Gila — ogila (at) uci.edu
office hours Fridays 11-1:50am in ICS 458B
(No office hours on day after each midterm)
- Prerequisites
- An undergraduate algorithms course
- Add/Drop Policy
- No adds or drops allowed after the second week of classes
- Textbook
- Required: Kleinberg and Tardos,
Algorithm Design,
Addison Wesley, 2006
The course will cover the first eight chapters of this book plus selected topics
This book is available at the UCI bookstore, but is cheaper from Amazon.com
- 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 1: Basics of Algorithm Analysis. [KT Chapter 2]
- Week 2: Basics of Graph Algorithms. [KT Chapter 3]
Week 3: First midterm examination covers chapters 1-3
- Week 4: Greedy Algorithms. Shortest Paths. Minimum Spanning Trees. [KT Chapter 4]
- Week 5: Divide and Conquer. [KT Chapter 5, section 13.5]
- Weeks 6-7: Dynamic Programming. [KT Chapter 6]
Week 8: Second midterm examination covers chapters 4-6
- Week 9: Network Flow. [KT sections 7.1-7.7, 7.12]
- Week 9: Sweep Algorithms. KMP Pattern Matching.
- Week 10: NP-completeness. [KT sections 8.1-8.5]
Week 11: Comprehensive final examination
- Grading
- eight homework assignments -- 40 points available (hw #2 has 5 pts, hws #3-#7 have 7 pts each)
- homework assignments contain textbook Exercises and non-textbook Problems
- submit solutions to only the Problems from each assignment
- assignments 1 and 8 have only Exercises but no Problems, so do not submit these
- two midterm examinations -- 60 points available (30 pts each exam)
- final examination -- 40 points available
- submission protocols
- Schedule for lectures, homework, and exams
- Access lecture topics, slides, and assignments
access is password-protected
— Students have access typically within three days of class enrollment
- user name is your UCInetID in ALL CAPITAL LETTERS
- password is your 8-character student number
- 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 obtain an A- or better in the class
- Discussion Board
- Students can discuss matters related to this course on
Ed Discussion
Students have access to the 260 Ed Discussion pages typically within three days of class enrollment.
- 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 campus level.
- Examples of academic dishonesty include, but are not limited to:
- submitting copied or plagiarized homework solutions
- copying from others during an examination
- allowing another student to copy from your work
- communicating exam answers to other students during an examination
- using unauthorized materials during an examination
- For more complete information about academic honesty policies,
consult the
Academic Senate Policy on Academic Integrity
- 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 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: Jan 8, 2025