Programming in college definitely taught me a lot of things. Mostly about data structures and things we consider to be good and fast design. I found them to be extremely useful when working on very “complex” problems.
Although recently, I dedicated some time to teach some people how to program. Most of them did not take Computer Science or take any programming classes before so I thought it would be an interesting experience. What I discovered was that it was easier for people to understand the uses of the piece of code by explaining it to them simply without the scientific bullshit.
For example, in Ruby, I would have an Array that I’ll use as a Stack. And going back to our data structures class, we know that we can push and pop from this Stack. So instead of explaining how Stacks work, we can just ask ourselves on what we wanted to do with our Array. Do we want to put something in the start or end of it? Then, we figure out what the method is by googling or looking at documentation. I’ve found this to be the most effective method to get people to start building things and not worry about the technicalities. Sometimes, technicalities make things more complicated and also tends to scare people off.
Of course, this is not the path to becoming the next amazing developer but through time, they will get exposed to more things that will lead them to learn deeper topics, slowly.