One does not simply learn to code
Quincy Larson

Coding is Easy, but the imagination to visualize the real time application is really tough. If you go back to the Horse diagram, you should visualize to start with two circles or else you are lost. Unfortunately today everyone want to learn the programs without imagining a bit which is making the coding tougher.