When I started learning programming from books, the internet and later formal study this wasn't stressed nearly enough. A program transforms data. So much else starts falling into place about all the various abstraction techniques useful to perform that kind of transformation (procedural, oo, functional etc) and technologies used to assist, (testing, debuggers, etc) once you keep that thought front and central in your mind. At least I feel it really did it for me.
Reading code is the same. Where are the places the data coming in? Where is it going out? Sometimes this is a better place to start than "main"
I'm sure that's really obvious to many but I'm not sure it is to the author in a way that is being successfully communicated:
”programming is a tool to solve problems that you have in the domain of computers”
Taking a baseball bat to a computer, on some level can meet the suggested definition of programming, but I don't like it that it does. I also don't much care for the use of "problems" there either.
The above is especially opinionated because I'm particularly interested if people disagree!
edit: I'm definitely still learning programming here.