CSC 141 -- Fall 2000

Instructor: Michalis Faloutsos

Office: A-213 Bourns Hall.
Note: class related email will only be answered through this account
Office Hours: After the class Tu - Thur: 2-3
Class Hours: Tu- Thur: 12:40-2:00

General Information:

There will be a news group for the class;
We switched to:
Important things will be annonuced there.
Thomas Karagiannis
Sandeep Gupta sandeep
Huiying Liu hliu
Xiao Zhang xzhang


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.  Although not apparent now,
in the long run it will make their life easier.


CSC 14 or former CSC 140-A, MATH-009, MATH-112.
Ability to program in C++.

Grading Scheme:

3-4 Assignments 50%
Midterm         20%
Final           30%

Re-evaluation of assignments/test should be done within the first
week after they are returned.  Given the class size, only claims significant
in difference will be considered.

Late assighments: There will be a 10% penalty per day for late assighments and
only for the first week.

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 in.
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 on
object-oriented programming.

The following is a rough outline. Some things may be added or omitted
depending on class interest and needs.

Fundamental topics from the book.

  1.  Recursive programs and Recursion (parts of ch. 4)
  2. Elementary Graph Algorithms (ch. 23)
  3. Minimum Spanning Trees (ch. 24)
  4. Single-Source Shortest Paths (ch. 25)
  5. All-pairs Shortest Paths (ch. 26)
  6. Dynamic Programming (ch. 16)
  7. Greedy Algorithms (ch. 17)
  8. NP-completeness (ch. 36)

Optional topics from the book (may or may not be discussed).

 1. String Matching (ch. 34)
 2. Maximum Flow (ch. 27)

Optional topics.

 1. The Steiner tree problem
 2. Desinging object-oriented programs