Loading Runtime

"Pedagogical" - relating to the practice of teaching and its methods.

I've always though that learning to play a musical instrument is pretty good analogue for learning a technical skill like programming or data science. It's hard. You make mistakes, and mastery is a life-long pursuit where you never really "arrive" at the summit, you just get better and better with (hopefully) greater and greater personal satisfaction all along the way.

Growing up, my parents had me take piano lessons. When you're learning to play an instrument your goal is often to get good enough to the point where you can play certain songs that you love, or maybe even to learn to write your own music. But, none of us are virtuosos from the first moment we sit down with an instrument –it takes a lot of practice. Years of practice. Just like you wouldn't expect to learn to play an instrument in 30 minutes, don't you can't learn data science in a day either. You're signing up for a life-long journey.

To learn an instrument well, it's common to use a combination of methods that build upon each other over time, and I think this has a lot of relevancy for learning and teaching Data Science. Let me explain:

1) Drills

Drills are exercises that give you practice with a very specific technique or ability. For learning the piano, you can do drills to strengthen your fingers or increase your dexterity. Drills to learn how to play scales. Drills to learn chords or theory. Or you might repeatedly drill and practice a challenging segment of a song that you're learning. But what's common among all of these drills is they are repetitive, and they focus on one specific concept. Doing the repetitive drills isn't the funnest thing ever, but it has a big payoff because that concept is likely to be relevant to all kinds of music, it will probably show up in a lot of different songs later on, but not necessarily in every song.

When we're learning to code, we also need repetitive practice with the specific attributes of our programming language, and the concepts we learn will also pop up here and there throughout the code we write in the future. Code syntax is confusing, we're learning another language after all and it takes repetition in order for it to really sink in.

Just like when learning to play the piano, when we're learning to code, we're not really learning very much unless we've got our own fingers on our own keyboard pressing the keys –and making mistakes, honestly. My goal is to get you using your own actual fingers to write your own actual code as often as possible, it's not enough to just watch videos about programming concepts. I want to give you an excessive number of opportunities to actually practice and to actually do the real thing. I could have easily just made instructional YouTube videos about all this stuff, but I didn't, I've also made this whole website with a custom built-in notebook-based Python editor so that alongside those instructional videos you would have the opportunity practice writing your own code and to be told if that code is right or wrong. (Which is more subjective than you might think). This site will soon have hundreds of repetitive code exercises to give you all the practice you could ever need to master the fundamentals of Python and Data Science.

I also I want to emphasize that you don't need to do every single exercise that is offered. If I have given you 20 exercises that you can use to drill a certain concept and you feel like after doing 10 of them that you've got it down, feel free to move on at that point. I might have gone a little bit overboard in some places with the amount of available exercises.

2) Practicing "Recital Pieces"

A second part of learning to play an instrument (at least in my experience) is learning an entire song and really polishing your performance in preparation for sharing that performance with others. When this is done formally it's called a "recital" but that's not the only time you might play for other people.

Playing an instrument for your own enjoyment can be really fulfilling, but if we want to become professionals. We have to work for the benefit of others, so that they'll be willing to compensate us for our hard work. Professional authority comes from learning how our skills to generate value for others.

The data science equivalent of a recital piece might be a fancy portfolio project that you're willing to show off to and talk about with potential employers. We'll do some big, fun data science projects together, and after we've practiced a few projects together I would hope that you would try to build your own big, fancy data science portfolio projects –totally on your own. So if you persevere through the grind of the drills and the repetitive practice that hopefully all culminates in the performance of beautiful music for others –so to speak.

3) Études

"Étude" - A short musical composition, typically for one instrument, designed as an exercise to improve the technique or demonstrate the skill of the player.

In the world of music, somewhere between the drudgery of repetitive drills and thrill of performing pieces there's a hybrid of sorts called an Etude. And this idea of an etude I think is super interesting ; It's really why I'm taking the time to write this.

In music and particularly in the study of classical piano, these so-called "etudes" are kind of a big deal. Etudes are relatively short but challenging pieces of music that require the use of a particularly difficult technique over and over again throughout the song. The word "etude" in French means "a study". This name is trying to convey that the piece was created with the intention of requiring the musician to study and master a particular challenging technique in order to be able to perform it. And they are intended to be performed, in fact many etudes are just as beautiful as they are impressive.

Take a look at this Chopin's "Torrent" Etude. The video is around two minutes long, see if you can tell what challenging technique this song requires the performer to have mastered:

The purpose of an etude is to be kind of a combination of a beautiful recital piece (or portfolio piece when it comes to code) and repetitive drills. It's still fully-fledged piece of music, but with the top priority being increasing the player's abilities above all else.

In my opinion, we need more "Etudes" in programming education, and I would argue that the programming equivalent of an etude is more than just a follow-along-with-me tutorial. These need to be projects that still accomplish something useful, but whose existence is first and foremost to make the person who completes them better at certain skills that have been selected by the teacher. A programming etude may not necessarily demonstrate the most elegant code or use the most cutting edge tools and techniques, but it would make the learner better at specific skills within the context of an end-to-end project.

I hope to bring to you exciting and compelling data science "etudes" here on Temzee.com. Full projects that do cool things, but that are created in a way that require us to practice Python and Data Science fundamentals in order to complete them. I'll try and point out these "studies" as I create them on the platform, so that you'll know that they're not necessarily for using the most cutting-edge tools techniques, or necessarily for being the most mind-blowingly impressive projects (they're still going to be cool) but they're really to make us better with a hand-picked set of skills in a way that I hope is more engaging and fulfilling than drilling code syntax (as useful as that is).