Syllabus - ICS 160E - Engineering Data Structures and
Algorithms
Michael T. Goodrich
http://www.ics.uci.edu/~goodrich/teach/ics160e/
(Office hours by appointment)
-
Catalog description.
Design of efficient algorithms for practical data structures in
engineering applications. Models of computation. NP-completeness.
- 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.
-
Required:
Goodrich and Tamassia,
Algorithm Design,
John Wiley & Sons, ISBN 0-471-38365-1.
-
Recommended:
Mehlhorn and Naher,
LEDA: A Platform for Combinatorial and Geometric Computing,
Cambridge Univ. Press,
ISBN 0-521-56329-1.
- 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.
Algorithm Experimentation.
Stacks and queues. Vectors and Lists.
- Week 2:
-
Trees. Priority queues and heaps.
-
Week 3:
-
Dictionaries and hash tables.
Binary Search Trees.
-
Week 4:
Midterm I
-
Week 5:
-
Greedy method. Divide-and-conquer. Dynamic programming.
Merge-sort. Quick-sort. Sorting lower bound. Radix-sort.
-
Week 6:
-
Selection.
The greedy method.
Dynamic programming.
-
Week 7:
-
Graphs. Graph traversal.
Depth-first search.
-
Week 8:
Midterm II
-
Weighted graphs.
Shortest paths.
-
Week 9:
-
Minimum spanning trees.
FFT.
-
Week 10:
-
NP-Completeness.
Approximation algorithms.
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.