CSE 830:
Design and Theory of Algorithms

Fall 2011

Instructor: Dr. Charles A. Ofria
Phone: 884-2562
E-mail: ofria@cse.msu.edu
Office: 1441C Biomedical & Physical Sciences Bldg.
Office Hours: 9-10am Tuesdays in 2140 Engineering (or by appointment).
TA: Bess Walker (blwalker@egr.msu.edu)
Textbook: Introduction to Algorithms, Third Edition by Cormen, Leiserson, Rivest, and Stein, McGraw Hill, 2009 ISBN 0262033844
Meeting time & Room: Tu/Th 10:20-11:40am, 1234 Engineering Building
Pre-reqs: Knowledge of at least one major programming language, basic data structures, and recursion.
Web page: http://www.cse.msu.edu/~cse830/

Description: Analysis of algorithms. Algorithm design techniques. Efficient algorithms for classical problems. Intractable problems and techniques to cope with them.

Handouts

  • Syllabus
  • Homework 1 (Review Slides - e-mail Dr. Ofria for the password)
  • Homework 2
  • Sample Exam 1
  • Homework 3
  • Homework 4
  • Project Assignment
  • Sample Exam 2
  • Homework 5
  • Sample Final
  • Lectures

  • Week 1 - Introduction
  • Week 2A - Analyzing Algorithms
  • Week 2B - Recurrence Relations
  • Week 3A - Elementary Data Structures
  • Week 3B - Applications of Sorting
  • Week 4A - Quicksort!
  • Week 5B - Introduction to Optimization problems
  • Week 7A - Dynamic Programing
  • Week 7B - Knapsack Problems
  • Week 8 - Brute-force approaches
  • Week 9 - Graph Algorithms
  • Week 10A - Example Hard Problem (Steiner Trees)
  • Week 10B - More Graph Problems
  • Week 12A - Introduction to NP-Completeness Proofs
  • Week 12B - More NP-Completeness Proofs
  • Week 13 - Set Cover and Hamiltonian Cycle