This Book a perfect choice for people who want to build a very strong foundation in programming and problems solving.
Lots of exercises at the end of every chapter, beautiful visualizations to help understand abstract concepts, and amazing way of delivering and relating information that keeps you focused.