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

Automata Theory
Stanford University via edX
Computing: Art, Magic, Science
ETH Zurich via edX
理论计算机科学基础 | Introduction to Theoretical Computer Science
Peking University via edX
Quantitative Formal Modeling and Worst-Case Performance Analysis
EIT Digital via Coursera
Approximation Algorithms Part I
École normale supérieure via Coursera