Introduction to Computer Algorithms

CS 470

Fall 2000

 

Instructor:

Dr. Brandon Dixon

101 Houser Hall

Office Hours: Tues, Thurs 9:30-11; Wed 9-10.

Email: dixon@cs.ua.edu

 

Prerequisites:

CS325, CS357, EE383, MA301.  You are expected to know material such as: Sorting algorithms, O notation, mathematical induction, priority queues, binary search trees, breadth-first and depth-first search.

 

Goals and Objectives:

1.     To improve problem solving skills.

2.     To recognize standard problems embedded in real-world applications.

3.     To analyze and compare several algorithms for the same problem.

4.     To modify known algorithms to solve new variations of familiar problems.

5.     To design efficient algorithms for newly encountered problems.

 

Textbook:

Fundamentals of Algorithmics by Brassard and Bratley.  Reading material from the book is likely to be of benefit. We will likely cover the topics to the right.  Additional material may be presented if time permits.

 

Chapters

Topics

1,2,3,4,5

Quick review of some math concepts

6

Greedy method

7

Divide-and-conquer

8

Dynamic programming

9

Graph exploration

Grades:

Your grade for this course will be computed as follows:

Homeworks

20%

2 Programs

25%

2 Midterm Exams

30%

Final Exam

25%

 

You are expected to do your own work on all assignments, according to the University's honor code. If you have any questions or need help getting started, please see the instructor. Late assignments are deducted 10% per day late, but are not accepted once solutions have been distributed.

 

Points, points, points.  I hate arguing about points, so if you have a problem with the way that your exam/homework/program is graded, then write a clear, concise rebuttal and give it to me together with the exam etc.  You should do this within a week of getting the work back.  I'll read it and decide.  No arguing. 

 

About exams.  I tend to give hard exams.  That doesn't mean that I give bad grades.  There will be no preset scale for grades, although I have noticed that the homeworks and programs tend to lift the exam averages to a little below the traditional 90-80-70 scale. The best ways to prepare for the exams are to listen in class, solve the homework problems, read the text, and implement the programs.  The exams test your understanding (rather than your memorization) of the material, so working problems out of the book is likely to be more useful than any other study technique.