[Syllabus] [Project] [Schedule] [Homework] [(F)AQ] [Home]

CS 46101/56101 Design and Analysis of Algorithms - Spring 2004

Department of Computer Science at Kent State University

CS 4/56101 Syllabus

Instructor: Dr. Volkert

office: 216 MSB
phone: 672-9037
email: volkert@cs.kent.edu
office hours: T R 2:30 - 4:00 p.m. and by appointment

Prerequisites:

CS 31011, CS 33001 and MATH 12003 or equivalent (discrete mathematics and data structures)

Time and Place:

Teusdays and Thurdays, 12:15 pm - 1:30 pm, MSB 228.
Midterm Exam on Thursday, March. 4, 2004.
Final Exam: Wednesday, May 5, 2004, Room MCS 228, 12:45 - 2:00 pm.

Required Textbook:

Algorithm Design, Foundations, Analysis, and Internet Examples, Goodrich and Tamassia, Wiley Publishers, 2001
ISBN: 0-471-38365-1

Suggested Reference Textbooks:

Fundementals of Algorithms, Brassard and Bratley, Prentice Hall, 1996
ISBN: 0-13-335068-1.

Introduction to Algorithms (2nd Edition), Cormen, Leiserson, Rivest and Stein , MIT press 2001,
ISBN: 0-07-013151-1.

Data Structures and Algorithms in Java, (2nd Edition), Goodrich and Tamassia, Wiley Publishers, 2000
ISBN: 0-471-38367-8

Description.

This course will cover the fundamentals of analysis of algorithms, time and space complexity and their trade-offs. We will also cover sorting algorithms, heaps, hash tables, trees, greedy algorithms, graph algorithms, string algorithms and an introduction to NP-completeness.

A thorough knowledge of algorithms allows a computer scientist to determine what problems can be solved using a given amount of resources. The tools and techniques used for the basic algorithms covered in this course can be adapted to provide efficient solutions to many novel problems.

The study of algorithms is mainly a mathematical study, in that it involves calculating the amount of time used for compound solutions given costs of basic operations, and theoretical limits on computations of certain problems. Therefore, homeworks will not involve a lot of programming, rather algorithm design and analysis will be the focus. In the cases where programming is required, students may program in any language they please. The stress is on algorithmic design, and clarity of analysis.

Assignments

There will be 6 homework assignments, roughly one every other week. Homeworks are due at the begining of class on the due date. There will be a 20% mark down for each day late. An assignment is considered late if it has not been turned in when the lecture begins on the due date. Homeworks may be submitted via e-mail as long as they are sent as a PDF formated file

Additionally there will be a programming project that involves implementing some of the algorithms presented in class. Each algorithm will be executed on instructor supplied datasets and must record run-time statistics. Comparisons of the run-time statistics will be written up and turned in as a project report for credit along with print-outs of your source code and electronic copies of your executables. Late projects will not be excepted

Exams and Grading

Your final course grade will be determined as follows: Homework Assignments: 30% (6 assignments) Programming Project: 20% Midterm: 25% Final Exam: 25%

Policies

  1. Any modification to the syllabus will be documented on the course web site. The web site URL is as follows - http://webpages.cs.kent.edu/volkert/cs46101-spr04/cs46101.html
  2. Class attendence and participation is important.
  3. There will be no incompletes in this class except in accordance with university policy.
  4. Graduate students, those students enrolled in 56101, will be held to a higher level of scholarship, including additional homework problems.
  5. Students are encouraged to work together on homework assignments but must defer from cheating or pagiarism. This is to say that students are allowed to discuss homework problems but are expected to work totally independent of each other when writing up their answers. Violation of the plagiarism and cheating policy is likely to result in failure in the assignment/course. In addition all cases will be reported to the student conduct officer. Please see Computer Science Policy on Academic Dishonesty
  6. Special accommodations for students with disabilities: In accordance with the University policy, if you have a documented disability and require accommodations to obtain equal access in this course, please contact the instructor at the beginning of the semester or when given an assignment for which an accommodation is required. Students with disabilities should verify their eligibility through the Office of Student Disability Services (SDS) in Michael Schwartz Student Services Center (672-3391).

URL://webpages.cs.kent.edu