Syllabus - ICS 161 - Design and Analysis of Algorithms
Michael T. Goodrich
http://www.ics.uci.edu/~goodrich/teach/ics161/
(Office hourse by appointment)
- Coursework. Coursework will consist of weekly homeworks,
two midterms, and a comprehensive final exam. The overall grade
will be determined 20% from homework, 25% from each midterm, and
30% from the final.
Group work on homeworks is permitted, but each
student must list his or her collaborators in writing for each problem.
If a student turns in a solution without listing
the others who helped produce this solution,
this act will be considered cheating (for it is plagarism).
Late homework assignments will not be accepted.
- Exam policy.
Exam performance must be 100% individual effort; no collaboration
is allowed on exams. Any collaboration or copying on exams
will be considered cheating.
In addition to the procedures of the
ICS
Cheating Policy, students caught cheating on exams will be given a
failing grade in the class.
- Text. The course text will be
Algorithm Design,
by Goodrich and Tamassia.
- Add/drop policy.
Drops will be accepted only up to the first midterm.
Once your drop card has been
signed, further coursework from you will not be graded. After the
seventh week of classes, withdrawals will be allowed only by
petition and under documented extenuating circumstances.
Tentative Schedule
- Week 1:
-
Introduction. Growth of functions.
Amortization.
Data Structures.
Heap sort.
- Week 2:
-
Search structures.
Skip lists.
Splay trees.
-
Week 3:
-
Sorting, comparison trees, and lower bounds. Mergesort.
Quicksort.
Bucket sort.
Selection.
-
Week 4:
Midterm I
-
Fundamental techniques.
The greedy method.
Divide-and-conquer.
-
Week 5:
-
Dynamic programming.
Matrix-chains. Knapsack.
Graphs and their representations.
-
Week 6:
-
Graph algorithms. Depth first search. Topological sort.
Breadth-first search.
Shortest paths.
-
Week 7:
-
Weighted graph algorithms.
Minimum spanning trees.
Network flow.
Maximum matchings.
-
Week 8:
Midterm II
-
String pattern matching.
Basic number-theoretic algorithms. Elementary cryptography.
-
Week 9:
-
NP-Completeness.
Approximation algorithms.
-
Week 10:
-
Computational geometry. Plane sweep. Line segment intersection.
Convex hulls.
Copyright © 2002
Michael T. Goodrich, as to all lectures.
Students are prohibited from selling
(or being paid for taking) notes during this course to or by any
person or commercial firm without the express written permission of the
professor teaching this course.