Home / Education / Undergraduate / Courses / Algorithms

Course Description

This is an introductory course to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. It emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.

Learning Objectives

  • Apply important algorithmic design paradigms and methods of analysis.
  • Demonstrate a familiarity with major algorithms and data structures.
  • Identify major issues in the implementation of algorithms.
  • Solve algorithmic issues in the design of information systems.

Measurable Outcomes

Students will learn basic algorithms related to:

  • Binary search trees
  • Hashing
  • Sorting
  • Searching
  • Shortest paths
  • Dynamic programming

and will be able to:

  • Describe an algorithmic paradigm
  • Explain when an algorithmic design situation calls for one
  • Recognize algorithms that employ each paradigm
  • Apply algorithms in the paradigm


Data Driven World