In this introduction to computer programming Udacity course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore computer science basics, as you build your own search engine and social network.
LESSON 1 – Challenging Problems
An introduction to tough problems and their analysis.
LESSON 2 – Understanding Hardness
What we mean when a problem is “hard” and the concept of NP-completeness.
LESSON 3 – Showing Hardness
Tools to let you recognize and prove that a problem is hard.
LESSON 4 – Intelligent Force
Smart techniques to solve problems that should – theoretically – be impossible to solve.
LESSON 5 – Sloppy Solutions
Gaining speed by accepting approximate solutions.
LESSON 6 – Poking Around
Why randomness can be of help – sometimes. An introduction to complexity classes.
LESSON 7 – Ultimate Limits
Problems that no computer can ever solve. In theory.
- Sebastian Wernicke
- Sean Bennett
- Sarah Norell