=================================
This class teaches you about basic concepts in theoretical computer science -- such as NP-completeness -- and what they imply for solving tough algorithmic problems.
Site: https://www.udacity.com/overview/Course/cs313/CourseRev/1
[Unit 1.1 - Lecture Notes] (https://github.com/KartikTalwar/OnlineCourses/blob/master/Jena%20University/Introduction%20to%20Theoretical%20Computer%20Science/1.1%20Challenging%20Problems.md)