I think the best way for a beginner to gain a programming “intuition” is to read a lot of code. Look at the source code of your favorite programs. Look at the source code for interesting software projects. Look at the source code for your favorite websites. When you read a lot of code you get a feel for what “looks” right and what doesn’t. Its like when you hear a lot of a language you are learning. Eventually hearing it so often there are some things that sound “wrong” and something that sound “right”. Your brain learns the grammar rules intuitively.
What does “learning” mean if not developing an intuition for a system’s inner workings? Anything less comprehensive amounts to rote memorization, taking on faith that the underlying methodology is sound.
“Intuition” is a very broad word, but I think it’s aligned with the advice I give all of my new students: “Keep your hands on the keyboard. Type until it turns into code.”