- Gaining factual knowledge (terminology, classifications, methods, trends): In particular, in this course
you will learn definitions for asymptotic analysis of functions, methods for formulating and solving
recurrence relations, classifications of algorithms and data structures in terms of abstract data types
(ADTs), and the details of various algorithms.
- Learning fundamental principles, generalizations, or theories: The course will cover the motivation for
using asymptotic analysis on algorithm performance. It will also cover general algorithmic techniques
such as dynamic programming.
- Learning to apply course material (to improve thinking, problem solving, and decisions): In this course
you will learn to solve simple recurrence relations, and you will implement algorithms covered in class. We will also discuss where asymptotic analysis can be
applied, and where other considerations will outweigh it in choosing the best algorithm.