CSCI 385 Spring 2006
Advanced Data Structures and Algorithms
Archived Class
Charles Cusack
Computer Science
Hope College
Main
Schedule
Grading
Gradebook
Homework
Worksheets

Policies
College
    Policies
Advice

Notes
Programs
Tutorials

CSCI 125
CSCI 255
MATH 131 (01 and 02)
Others

Admin

CSCI 385 Information


Time 12:00-1:20pm TR, 12:00-12:50pm F
LocationSCICTR 1128

Instructor Chuck Cusack
E-mail cusack@hope.edu
OfficeVWF 229
Phone 395-7271
Office Hours 10:30-11:30am TR, and by appointment

Schedule The Schedule link gives the details for each class period, including what you should read before each class period, what assignments are due, when tests will be, etc. Since the schedule may change as the course progresses, please refer to it on a regular basis.
Note: Events listed for Tuesday apply to both the Monday and Tuesday Recitation for that week.

Textbooks/ Resources

Course Coverage The main purpose of this course is to teach you how to properly design and analyze algorithms. Specific topics include:
  • The basics of algorithm analysis including
    • Asymptotic notation
    • Complexity classes
    • Analyzing recursive algorithms
    • Creating and solving recurrence relations
  • Algorithmic techniques, including
    • Brute Force
    • Divide-and-Conquer
    • Decrease-and-Conquer
    • Transform-and-Conquer
    • Space and Time Tradeoffs
    • Dynamic Programming
    • Greedy Techniques
    • Distributed Algorithms
  • Theory of computing, including
    • Tractable and intractable problems
    • Complexity classes like P, NP, and NP-Complete
See the Schedule for a more detailed description of what we will do when.

Reading the Textbook Before class each day you should read the sections of the textbook listed on the schedule for that day. Be sure the read the introduction to each chapter and the entire section(s) indicated. Each class will start with question you may have about what you read. After clearing up any confusions, we will spend class time doing examples and solving related problems. If you are not doing the assigned readings, you will not get nearly as much out of the course as possible, and it is likely your grade will reflect that.

Suggested Exercises After you read each section, attempt as many of the suggested exercises as you are able. This will help you to clear up confusions, and will in some cases clarify what difficulties you are having, which will allow you to ask the right questions during the lectures.