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

Policies
College
    Policies
Advice

Notes
Programs
Tutorials

CSCI 112
CSCI 125
Others

Admin

Course Information


Time 9:30-10:50am Tuesday/Thursday
9:30-10:20am Friday
LocationVNZORN 142

Instructor Chuck Cusack
E-mail cusack@hope.edu
OfficeVWF 233
Phone 395-7271
Office Hours       2-3pm MW or by appointment

Textbook The following two textbooks will be used:
  • The Algorithm Design Manual, Second Edition (ADM), Steven Skiena, Springer, 2010.
    Webpage for the book: Algorist.com
  • Introduction to Discrete Mathematics and Algorithms (IDMA), Charles Cusack and David Santos, 2013. (The bookstore has copies. You need a hard copy for use during class, but it is also available in PDF here)
Note: Whenever the resources column on the schedule has an entry for ADM or IDMA, you are expected to read the given sections before class.

Important Links

Resources
  • Answers in the back of your book
    An Introduction to Discrete Mathematics and Algorithms has Exercise sections that contain problems with solutions given in the next section.
  • Me
    See me during office hourse, before or after class, or make an appointment at another time.

Description 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/Parallel Algorithms
    • Random 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.