YoVDO

Intro to Theoretical Computer Science

Offered By: Udacity

Tags

Algorithms and Data Structures Courses Algorithms Courses Theoretical Computer Science Courses NP-completeness Courses Algorithmic Problem Solving Courses

Course Description

Overview

This class teaches you about basic concepts in theoretical computer science -- such as NP-completeness -- and what they imply for solving tough algorithmic problems.


Syllabus

  • Challenging Problems
    • An introduction to tough problems and their analysis.
  • Understanding Hardness
    • What we mean when a problem is "hard" and the concept of NP-completeness.
  • Showing Hardness
    • Tools to let you recognize and prove that a problem is hard.
  • Intelligent Force
    • Smart techniques to solve problems that should – theoretically – be impossible to solve.
  • Sloppy Solutions
    • Gaining speed by accepting approximate solutions.
  • Poking Around
    • Why randomness can be of help – sometimes. An introduction to complexity classes.
  • Ultimate Limits
    • Problems that no computer can ever solve. In theory.

Taught by

Sebastian Wernicke

Related Courses

Design of Computer Programs
Stanford University via Udacity
Algorithms, Part I
Princeton University via Coursera
Algorithms, Part II
Princeton University via Coursera
Intro to Algorithms
Udacity
Divide and Conquer, Sorting and Searching, and Randomized Algorithms
Stanford University via Coursera