CSC 141 -- Fall 1999
Instructor: Michalis Faloutsos
Office: A-213 Bourns Hall.
Email: to be announced.
Office Hours: After the class Mo-We: 6-7.
Mon-We-Fri: 5:10 - 6:00 Watkins 1101
Introduction to Algorithms, by Cormen, Leiserson, Rivest
The exact reading material will be defined and presented in the
class and may diverge from the textbook. Students should
pay attention to what is covered by attending the classes or
referring to the class notes of other students.
CSC 14 or former CSC 140-A, MATH-009, MATH-112.
Ability to program in C++.
3-4 Assignments 50%
Reg-evaluation of assignments/test should be done within the first
week after they are returned. There will be a 10% penalty per day
for late assighments.
Note/Warning on plagiarism:
Assignments should reflect individual work unless otherwise stated.
All references and sources for literature or code should be cited.
Randomly selected students may be asked to explain their assignment
to TAs to ensure that they understand it after it has been handed
This is an attempt to protect the honest majority of students.
Material to be covered:
Overview: graph algorithms, dynamic programming, approximation
algorithms, recursion, NP-completeness. There will also be a focus
The following is a rough outline. Some things may be added or omitted
depending on class interest and needs.
Fundamental topics from the book.
Optional topics from the book (may or may not be discussed).
Recursive programs and Recursion (parts of ch. 4)
Elementary Graph Algorithms (ch. 23)
Minimum Spanning Trees (ch. 24)
Single-Source Shortest Paths (ch. 25)
All-pairs Shortest Paths (ch. 26)
Dynamic Programming (ch. 16)
Greedy Algorithms (ch. 17)
NP-completeness (ch. 36)
String Matching (ch. 34)
Maximum Flow (ch. 27)
The Steiner tree problem
Desinging object-oriented programs