# NP-Complete Problems

## Overview

This course, part of the Algorithms and Data Structures MicroMasters® program, discusses inherently hard problems that you will come across in the real-world that do not have a known provably efficient algorithm, known as NP-Complete problems.

You will practice solving large instances of some of these problems despite their hardness using very efficient specialized software and algorithmic techniques including:

- SAT-solvers
- Approximate algorithms
- Special cases of NP-hard problems
- Heuristic algorithms

## Prerequisites

- Basic knowledge of at least one programming language
- Algrorithmic Design and Techniques course
- Data Structures Fundamentals course
- Graph Algorithms Course

## Course Format

This course is self-paced, containing assignments without due dates. You can progress through the course at your own speed.

## Learn more and enroll on edX.