Udacity Logo
Log InJoin for Free
Free

Computability, Complexity & Algorithms

Course

Learn tools and techniques that will help you recognize when problems you encounter are intractable and when there an efficient solution.

Learn tools and techniques that will help you recognize when problems you encounter are intractable and when there an efficient solution.

Last Updated March 7, 2022

Prerequisites:

No experience required

Course Lessons

Lesson 1

1. Languages & Countability

Lesson 2

2. Turing Machines

Lesson 3

3. Church-Turing Thesis

Lesson 4

4. Universality

Lesson 5

5. Undecidability

Lesson 6

6. P and NP

Lesson 7

7. NP - Completeness

Lesson 8

8. NPC Problems

Lesson 9

9. Dynamic Programming

Lesson 10

10. FFT

Lesson 11

11. Maximum Flow

Lesson 12

12. BP Matching

Lesson 13

13. Linear Programming

Lesson 14

14. Duality

Lesson 15

15. Approximation Algorithms

Lesson 16

16. Randomized Algorithms

Lesson 17

Assorted Exercises

Taught By The Best

Photo of Charles Brubaker

Charles Brubaker

Instructor

Photo of Lance Fortnow

Lance Fortnow

Instructor

Photo of Hariharan Venkateswaran

Hariharan Venkateswaran

Instructor

The Udacity Difference

Combine technology training for employees with industry experts, mentors, and projects, for critical thinking that pushes innovation. Our proven upskilling system goes after success—relentlessly.

Demonstrate proficiency with practical projects

Projects are based on real-world scenarios and challenges, allowing you to apply the skills you learn to practical situations, while giving you real hands-on experience.

  • Gain proven experience

  • Retain knowledge longer

  • Apply new skills immediately

Top-tier services to ensure learner success

Reviewers provide timely and constructive feedback on your project submissions, highlighting areas of improvement and offering practical tips to enhance your work.

  • Get help from subject matter experts

  • Learn industry best practices

  • Gain valuable insights and improve your skills

Get Started Today

Computability, Complexity & Algorithms

Month-To-Month


  • Unlimited access to our learning catalog
  • Always-on learning assistant
  • Personalized project reviews
  • Program certificates
  • Learner community

4 Months

Average time to complete a Nanodegree program

  • All the same great benefits in our month-to-month plan
  • Most cost-effective way to acquire a new set of skills
Discount applies to the first 4 months of membership, after which plans are converted to month-to-month.