There are many excellent books on Algorithms—why in the world we would write another one???
Because we feel that while these books excel in introducing algorithmic ideas, they have not yet succeeded in teaching you how to implement algorithms, the crucial computer science skill.
Our goal is to develop an Intelligent Tutoring System for learning algorithms through programming that can compete with the best professors in a traditional classroom. This MOOC book is the first step towards this goal written specifically for our Massive Open Online Courses (MOOCs) forming a specialization “Algorithms and Data Structures” on Coursera platform and a microMasters program on edX platform. Since the launch of our MOOCs in 2016, hundreds of thousand students enrolled in this specialization and tried to solve more than hundred algorithmic programming challenges to pass it. And some of them even got offers from small companies like Google after completing our specialization!