Nanyang Technological University Center for Continuing Education

Advanced Algorithmic Techniques With Applications

Available dates

This course has no confirmed dates in the future. Subscribe to be notified when it is offered.

About the course

The theory of algorithms is an important foundation of both Computer Science and Computer Engineering. This is a third course on algorithms to provide students with additional algorithmic techniques and expose them to the theory of computational complexity, which offers a deeper understanding of the demarcation between hard and easy problems.


Through this course, we will learn

  • Additional algorithmic techniques.
  • Additional problem areas and their algorithmic solutions.
  • Lower bounds and the theory of computational complexity



Hard Problems and Complexity Theory

  • Key ideas: Decision and optimization problems, P and NP, NP-completeness and reductions
  • Sample Applications

Approximation Algorithms and Heuristics

  • Key ideas: Heuristic vs approximation algorithms.
  • Sample Applications: Set covering, TSP, scheduling.


Randomized Algorithms

  • Key ideas: Monte Carlo and Las Vegas algorithms.
  • Sample Applications: Hashing and Bloom filters

Introduction to Lower Bounds

  • Key ideas: Lower bound theory
  • Sample Applications: searching, sorting, etc.

Who should attend

Professionals who wish to further improve their algorithmic techniques for solving non-trivial problems. School teachers who wish to refresh the concepts about algorithms; - Any one with intellectual curiosity about computing and wishes to improve problem solving techniques.

Course reviews