Instructor
Dr. Elise de Doncker
B-240 CEAS
Phone: (269) 276-3102 (office), 276-3101 (Dept. office)
e-mail: elise.dedoncker@wmich.edu
Office hours
MW 13:00 - 14:00 or by appointment
Texts
Required:
Introduction to Algorithms,
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, 2nd edition, McGraw Hill 2004.
Recommended:
Computer Algorithms/ C++, E. Horowitz, S. Sahni and B. Rajasekaran
Algorithmics, G. Brassard and P. Bratley
Course content
The course will introduce the students to the main algorithm paradigms
or classes: divide & conquer, the greedy method, dynamic programming,
backtracking, and branch-and-bound techniques.
Tools needed to allow for proper performance analysis of the algorithms will be covered initially (asymptotic notation, time and space
complexity, solving of recurrence relations - the latter using, e.g.,
expansion or the characteristic equation of the recurrence relation).
Within each of the paradigms,
algorithms will be studied to solve typical problems, such as:
Divide & Conquer: quicksort, merge sort, selection, Strassen's
matrix multiplication;
Greedy Method: "fractional" knapsack problem, min. cost spanning
trees, optimal merge patterns (applied to Huffman codes), single source
shortest paths;
Dynamic Programming: all pairs shortest paths, 0/1 knapsack,
traveling salesman (TSP);
Backtracking: n-queens problem, Hamiltonian cycles;
Branch-and-bound: job scheduling, TSP.
NP-completeness will be introduced.
Some advanced data structures such as B-trees will be covered.
Prerequisites
CS 3310
Evaluation
The final grade will be determined on the basis of:
3 Tests (tentatively on: 9/28, 10/26, 11/23)
and a Final Exam (on 12/16, 8:00-10:00 am), for total of 55% of the grade,
Assignments and miscellaneous (for 45%),
and using the following grading scale:
A: 92.0 - 100.0,
BA: 88.0 - 91.9,
B: 82.0 - 87.9,
CB: 78.0 - 81.9,
C: 72.0 - 77.9,
DC: 68.0 - 71.9,
D: 60.0 - 67.9,
E: below 60.0.
Problems with class attendance may lead to a failing grade.
Academic Integrity Policies
You are responsible for making yourself aware of and understanding the
policies and procedures in the Undergraduate Catalog (pp. 271-272) that
pertain to Academic Integrity. These policies include cheating, fabrication,
falsification and forgery, multiple submission, plagiarism, complicity
and computer misuse. If there is reason to believe you have been involved
in academic dishonesty, you will be referred to the Office of Student
Judicial Affairs. You will be given the opportunity to review the charge(s).
If you believe you are not responsible, you will have the opportunity
for a hearing. You should consult with me if you are uncertain about an
issue of academic honesty prior to the submission of an assignment or
test.
Link: Exam review questions
|