CS 362 - Algorithms
The course
prerequisites are CXS319 and MA280. The course web site is accessible here.
The textbook for this
course is Introduction to The Design & Analysis of Algorithms, 2nd
Ed. By Anany Levitin.
You'll be doing some
programming in Java this semester so you'll need Sun's JDK and Eclipse.
You'll also need to do
some graph plotting. Yo umay use whatever software you are comfortable with
(Maple, Mathematica), but I'll use gnuplot in class, a copy of which can found
on the T: drive for this class. You can execute if right from the T: drive, no
installation necessary.
Grades are based on a
100 point scale and are derived from the following.
o
Exams
(75%)
o
Homework
Assignments (25%)
It is imperative that
you keep copies of graded work. Mostly these will be useful for studying, but
occasionally we may need to reconcile a grading difference and I'll need to see
your graded copy.
To determine your exam
average add up the total number of points you have received on exams and
quizzes and divide by the total number of possible exam points.
To determine your
homework average add up the total number of points you have received on
homework assignments and divide by the total number of possible homework
points.
The 100 points above
translate to the following GPA points.
Click here
to toggle displaying the grade table.
GPA |
Average |
4.0 |
94-100 |
3.75 |
92-93.5 |
3.5 |
89-91.5 |
3.25 |
87-88.5 |
3.0 |
84-86.5 |
2.75 |
82-83.5 |
2.5 |
79-81.5 |
2.25 |
77-78.5 |
2.0 |
74-76.5 |
1.75 |
72-73.5 |
1.5 |
69-71.5 |
1.25 |
67-68.5 |
1.0 |
60-66.5 |
0 |
0-59.5 |
There will be two
mid-term exams and a final exam.
3. Exam 1: Monday October
6
4. Exam 2: Monday
November 10
5. Final exam: Monday
December 15, 1:30 - 4:30.
You will have regular
homework assignments normally due at the beginning of every class. These
assignments are designed to reinforce something you learned in a previous class
and also to prepare you for the next class.
Attendance is
mandatory. You will be allowed two absences during the semester. After that
your final grade will be reduced by two points per absence.
These are the topics
we'll be covering and their ordering.
Topic |
Reading |
Introduction to Algorithms o Input size o linear search o binary search o selection sort |
Ch 1 |
Algorithm Complexity o Big Oh o Summations |
Ch 1 , Appendix A |
Algorithm Complexity o Recurrence Equations |
Appendix B |
o Brute Force Algorithmslinear search, selection sort o String matching o Closest-Pair |
Ch 3 |
Divide-and-Conquer o Mergesort o Quicksort o Multiplication of Large Integers o Closest-Pair |
Ch 4.1-4.4, 4.6 |
Graph Algorithms o Depth First Search o Breadth First Search o Topological Sort |
Ch 5.1-5.3 |
Heaps and Heapsort |
Ch 6.4 |
String Matching o Boyer-Moore-Horsepool |
Ch 7.2 |
Dynamic Programming o Fibonacci Numbers o Binomial coefficient o Greedy Coin Changing o Optimal Coin Changing o Longest Common Subsequence |
Ch 8.1 |
Greedy Algorithms o Prim's Algorithm o Huffman Trees |
Ch 9.3 |
Limitations o Lower Bounds o Decision Trees o P, NP, and NP-Complete |
Ch 11 (11.1-11.3) |
Coping with Limitations o Backtracking o Approximation o Parallelsim |
Ch 12.1 |
Please read the
university's academic integrity policies in your student handbook.