Yes. What gets me is that, in my opinion, most people think that learning to code starts with coding.
Really, I think the most difficult aspect of programming is taking the real world process, as you see it in your head, and turning it into an automated process using a programming language and all of the "best known practices" that have come about over some 30 to 40 years.
I suggest you look into Behavior Driven Development (BDD). BDD forces you to look at the why and even forces you to run through the "does it even make sense to make this".
You have the chance to describe the Behavior of your program in something that looks almost like English (you should also use mockups of how you want your program to run using pen/paper or something like balsamiq mockups).
Then, you start writing the minimal amount of code to make the program do what you described using BDD (Gherkin).
This will allow you to focus on learning a few aspects of programming you need to make that one behavior work.
I also wrote a book on programming that focuses on the "why" (I was able to keep the number of lines of code down to like 10 if I recall). If we can exchange emails in some way, I'll let you have a copy. (edit: doh, I just saw you email above so I'll send you a link).