Math 322: Algorithm Design and Optimization 2

From MathWiki
Jump to: navigation, search

Catalog Information


Algorithm Design and Optimization 2

(Credit Hours:Lecture Hours:Lab Hours)





Math 320; concurrent with Math 346, Math 323


Algorithms used to solve dynamic programming problems and advanced computing problems. Topics include finite-horizon and infinite-horizon dynamic programming, discrete transforms, compressed sensing, heuristics, branch and bound, conditioning and stability.

Desired Learning Outcomes


Math 320; concurrent with Math 346, Math 323

Minimal learning outcomes

Students will have a solid understanding of the concepts listed below. They will be able to prove many of the theorems that are central to this material. They will understand the model specifications for the algorithms, and be able to recognize whether they apply in the context of a given application or not. They will be able to perform the relevant computations on small, simple problems. They will be able to describe the algorithms well enough that they could program simple versions of them, and will have a basic knowledge of the computational strengths and weaknesses of the algorithms covered.

  1. Dynamic Programming
    • Finite-Horizon Problems
    • Infinite-Horizon Problems
    • Uncertain Stopping Times
    • Value and Policy Iteration
    • Numerical Techniques
    • Applications
  2. Discrete Transforms
    • z-Transforms
    • Discrete Cosine Transform
    • Fast Fourier Transform (FFT) (including convolutions)
    • Shannon-Nyquist Theorem, including Gibbs Phenomenon
    • Discrete Wavelet Transforms
  3. Advanced Algorithms
    • Compressed Sensing
    • Heuristics, Branch and Bound
  4. Conditioning and Stability
    • Conditioning
    • Forward Stability
    • Backward Stability


Possible textbooks for this course include (but are not limited to):

Additional topics

Courses for which this course is prerequisite