Learning How To Learn

Posted by John Guest on August 30, 2019

I have always had a natural curiosity about the world around me. I am enamored with the complexity of everything and how it all seems to perfectly work together. Even when I was child I remember pestering my parents with endless questions as mundane as “how does the dishwasher work?” to questions like “how old is the universe?”. Despite all of this; school always seemed to somehow take all of the magic and beauty out of learning for me. Well, except for science class. Science class was a place of happiness and, for me, it was the only place on the entire campus where I felt as though my curiosity was fully quenched. God bless science class and god bless science teachers. My science teachers were always so filled to the brim with a shining and bright-eyed wonderment that I think all educators should have.

One of the primary ways we are taught to learn in grade school is to memorize a bunch of information and then take tests on how well we memorized it. Other than the minute amount of details that one might retain after this repetitive process; the only thing that is learned this way is how to mindlessly repeat information. For one to learn programming this method of learning is all but useless. If you were to take the “grade school” style approach to the world of coding you would have only one small part of what it takes. Memorizing every syntax and every little operator and method of every language would be useful. However, in the world of programming languages, the languages themselves are trends. What is trending now may be useless in the next five years. So the most important skill in programming is not to know the most but it is to ask the best questions.

Everything you could ever want to know about any language is almost guaranteed to be somewhere in the vast scope of a well worded Google search. This is to say that no matter what it is you are trying to do with your code, someone has probably already done it and posted how they did on the internet! This is why memorization of the small details of programming is futile. All of those details are always going to be in this almost infinite directory of all things code that we call “the internet”. Teaching in light of this is called “The Socratic Method”. Named after the ancient Greek philosopher Socrates. The goal of the teacher is not to dictate the information that is to be learned but to guide the conversation through a series of questions toward the answer that is sought. This is a powerful tool that actually shapes the way one thinks instead of just handing out information and forcing the student to stuff it in their brain.

This method of teaching has reignited my passion for learning. I feel a strong pull towards the world of programming and code. I feel a real sense of satisfaction every time I learn something new. I now have such a passion to learn all of this and to change the way I approach problem-solving both in code and in the real world.