"My [child] recently enrolled in your HTML / CSS class and had a blast. In his words, he learned more in 2 weeks than what he did from a coding academy he used to go to in 3 months." - A Happy Parent
For the past few weeks, I've been teaching a modest class of about 28 students, going through the basics of HTML, CSS, and JS on Hack University. During those days of teaching, there was one main thing I went over on the first day. The reason you learn, is to make and create.
This has been one of my core principles ever since I started to program, and do much of anything in my life. From day 1 in 4th grade, I decided I learned Python, a language where I learned the basics of programming, and the logic of it all. I got bored of programming and gave up after I learned the basics. This is what happens to almost every budding programmer, be it from 4th grade to college.
This all changed once I realized that I wanted to make something cool. I set my mind on building a testing application, to record people's reaction times. From then, I researched about the Stroop Effect and other ways I could record reactions. Then I realized, that I needed to run python on my Chromebook (before I knew of repl.it), and proceeded to learn to chroot my Chromebook to allow me to run Linux and then eventually run a Stroop Effect reaction test in Python. Through the entire experience, I think I learned more than I ever could from reading books, and memorizing functions, and learned to apply my brain to try to find resources to learn based on a goal.
What I stated above is something I call goals based learning where you learn a new subject, be it a new language like Go, or parametric equations, by working towards an end goal. This is because, if you start to learn something, without actually making something on the way, you end up becoming disinterested, or just plain give up. Also what this technique shows you is the real meaning of learning, is to do. What that means is that the reason you learn anything in life, in essence, is to do something, either by furthering that discovery or by applying it elsewhere. There is nothing gained by someone who just learns and forgets.
Back to the first quote, the reason I've received multiple emails saying that their children liked the class and learned, is because I gave them space and a goal. The goal was to create a website, about anything cool that you liked, and then I shoved a boatload of information into their face and taught them how to google. This way, when facing an obstacle that they haven't faced before when creating, they can easily research and learn ways to fix the problem, and eventually complete their projects independently.
The best and foremost positive about this mindset and learning process is that it doesn't emphasize the idea you can learn anything, but you can make anything. Once people can look at a project, split it up into chunks of what to learn and do, and finish the project, they can manage to create anything in the world, where nothing is unattainable.