Design & Analysis of
Algorithms - CS 4/56101
FALL 2008
T R 05:30 pm -06:45 pm
MSB 115
|
Instructor
Office Hours
Email
Telephone
|
Dr. Feodor Dragan
Room 254 MSB
TR 2:30 – 3:30 PM
and by appointment
dragan at cs dot kent
dot edu
(330) 672-9058
|
Teaching Assistant
Office Hours
Email
Telephone
|
Jamal Alsakran
Room 140 MSB
TR 2:30 – 3:30 PM
and by appointment
jalsakra@cs.kent.edu
(330) 672-7059
|
- WWW:
http://www.cs.kent.edu/~dragan/CS4-56101-D&AofAlg.html
- Prerequisites: Data
Structures - CS 33001
- Course Description: This
course is an introductory undergraduate/graduate course on the design and
analysis of algorithms. The course builds on the study of the analysis and
implementation of data structures and algorithms from CS 33001. The goal
is to introduce a number of important algorithm design techniques as well
as basic algorithms that are interesting both from a theoretical and also
practical point of view. We will cover basic algorithm design techniques
such as divide-and-conquer, dynamic programming, and greedy techniques for
optimization. We will cover techniques for proof of the correctness of
algorithms and also asymptotic analysis of algorithm time bounds by the
solution of recurrence equations. We will apply these design and analysis
techniques to derive algorithms for a variety of tasks such as sorting,
searching, and graph problems. Some specific algorithm topics include:
deterministic and randomized sorting and searching algorithms, depth
and breadth first search graph algorithms for finding paths and matchings,
and algebraic algorithms for fast multiplication and linear system
solving.
- Goals: This course
has several goals.
- Study important data structures and algorithmic
techniques not normally covered in CS 33001.
- Develop ability to design efficient algorithms.
- Develop ability to prove correctness and
evaluate efficiency of algorithms.
The main
goal of the course is to learn to think algorithmically like a ``real''
computer scientist.
Algorithm Design: Foundations,
Analysis, and Internet Examples, Wiley,
2002, ISBN 0-471-38365-1
(by Michael T. Goodrich and Roberto Tamassia) Book's
web site
- Topics will include: We
will cover the following topics (the topics and order listed are tentative
and subject to change; some topics may only be quickly surveyed to add
breadth, while others will be covered in reasonable depth).
- Algorithm Analysis
- Data Structures (Elementary Data Structures, Vectors,
Stacks, Queues, Sequences, Trees, Heaps, Priority Queues, Hash
Tables, Dictionaries)
- Searching ( Binary Search Trees, AVL Trees,
Red-Black Trees, Skip Lists, Locators)
- Sorting (Merge Sort, Quick Sort, Sorting Lower Bound,
Sets, Radix Sort, Selection)
- Fundamental
Techniques (Greedy Method,
Divide-and-Conquer, Dynamic Programming)
- Graphs Algorithms (Graphs, Depth-First Search, Breadth-First Search,
Biconnectivity, Directed Graphs)
- Weighted Graphs (Shortest Paths, Minimum Spanning Tree)
- Network Flow and
Matching
- Text Processing (Pattern Matching)
- Course Requirements
|
Homework
|
-
|
-
|
-
|
40%
|
|
Midterm Exam
|
???????
|
????????, 2008
|
5:30 - 6:45
pm
|
30%
|
|
Final Exam
|
Tuesday
|
Dec. 9, 2008
|
5:45 - 8:00 p.m.
|
30%
|
Homework
is very important. It is expected that most of your learning will come from the
process of solving the homework problems. Exams will in large part be based on
the homework.
- Milestone for successful completion of the course
- Attend the classes regularly,
- Perform the homework thoroughly and
independently,
- Read the book carefully and several times.
- Make-up and Late policy: Attendance at times exams are given is a course requirement.
Missed tests are only excused if absence was essential and can be fully
documented. Unexcused late homework is normally not accepted after
11:59:99 pm of due date. Class extensions on homework will be announced in
class. They may also be announced by email and at the course website.
- Homework and Collaboration: You will need to devote a considerable amount of time to homework.
You may discuss the homework with other students, but you must write
your solutions independently. Study groups should limit their
size to 2-3 so that each collaborator can participate in solution. If you
obtain a solution to a homework problem through research (e.g., from books
or journals), you are expected to acknowledge your sources in your writeup
and also to write up your solution independently.
- Plagiarism: Copying the
solution from another student or jointly writing up the solution of a
problem constitutes plagiarism. You are not permitted to use solutions to
assigned problems from earlier terms. Such activities and other
unapproved or anti-intellectual behavior violate the University's
plagiarism rules and can result in severe penalties. Behavior of this type
is unfair to both yourself (in missed learning opportunities) and to the
other students. University rules on plagiarism are given here.
- Student Accessibility: University Policy 3342-3-01.3 requires that
students with disabilities be provided reasonable accommodations to ensure
their equal access to course content.
If you have a documented disability and require accommodations,
please contact the instructor at the beginning of the semester to make
arrangements for necessary classroom adjustments. Please
note, you must first verify your eligibility for these through Student
Accessibility Services (contact 330-672-3391 or visit www.kent.edu/sas
for more information on registration procedures).
- Registration Requirement: The
official registration deadline for this course is September 7, 2008. University policy requires all students
to be officially registered in each class they are attending. Students who are not officially
registered for a course by published deadlines should not be attending
classes and will not receive credit or a grade for the course. Each student must confirm enrollment by
checking his/her class schedule (using Student Tools in FlashFast) prior
to the deadline indicated.
Registration errors must be corrected prior to the deadline.
F. F. Dragan
dragan at cs dot kent
dot edu
Fall 2008