CS 362 Syllabus Fall 2008

Instructor

  • Ed Harcourt
  • Office: Valentine 210
  • Phone: x5444
  • edharcourt@stlawu.edu
  • Office hours: Monday - Thursday 10AM - 11AM. If the scheduled office hours don't work for you I will normally be in my office in the mornings Monday through Thursday. I will be unavailable on Fridays and most afternoons are pretty booked up with teaching.


Course Info

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.


Required Software

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.


Grading

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.

Calculating your grade

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

Exams

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.

Homework

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

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.


Topics

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


Academic Integrity

Please read the university's academic integrity policies in your student handbook.