(Further) Blurring the lines between learning yoga and teaching programming

Posted: November 24, 2013 in Mental Reboot, Physical Reboot, Programming, Teaching
Tags: , , , , , , ,

One of the things that I’ve been struggling the most with in my attempt to teach programming to high school students is to get them to experiment.  This is particularly hard for me because when I learned to program I had no formal instruction for the first four years, so experimenting was by far the most used tool in my toolbox.

Because of this I’ve been emphasizing that there are many different ways to do things and showing (or getting the students to demonstrate) different solutions wherever I can.  And then I try to get them to compare the solutions again emphasizing that they both solve the problem and where each solution has advantages and dis-advantages.  But in so many cases, they seem to get into a mindset of doing something the ‘right’ way and then they get stuck.

As I was settling into yoga practice this morning, the teacher said something that really connected with me.  We were doing Child’s Pose, which for this style of yoga is one of the most basic and oft-repeated poses.  As such, you kind of feel like you know it after the first class.  But even though there weren’t any new students in class, she spent a couple of minutes encouraging us to experiment with the pose, settling differently in the hips, holding the hands wider or narrower, same with the feet, etc.  Because even in the most simple things, you can train yourself to do them more effectively.

That, of course, led me down the path of other physical training I’ve done including Kung Fu and dancing and marking patterns in how things are taught and how I learn them.  I’m not going to attempt to dump all of the details, but whenever I’ve found a teacher that takes the approach of “your body and your background is different than mine, so let’s try this a bunch of different ways until we land on something that works” I learn much more than the “this is the way it’s done and I’m very successful doing it this way, so let’s get you doing it exactly this way and you’ll be successful too” type of teacher.

So how does this relate to programming?  I’m pretty sure it’s almost the same concept.  For instance, almost any language has a bunch of looping constructs and you use them differently for different tasks and there are plenty of ways that you change up how each of those constructs are used depending on any given task.  And of course as anyone who’s worked with programmers for any period of time knows, there will be endless debates about what the ‘best’ way to solve a particular problem is, with the line often blurring between style and function.  Which is almost a direct parallel to conversations I’ve had with martial artists and ballroom dancers, now that I think about it.

And while I don’t think many of my 15 year old students spend a lot of time practicing yoga (or ballroom dancing, or Kung Fu), I suspect some of them have trained in high school sports like basketball and soccer.  And it seems like the same concept would apply.  Does anyone out there have a good example I can use in a more familiar (to a 15 year old) sport?  Or thoughts on how to draw such a story out of the aforementioned 15 year olds?

Advertisements
Comments
  1. When one coaches or instructs an individual they have to take into account their learning style and physical abilities. How you said the best teachers do a certain thing a bunch of times to find the one that works for you, coaches do as well. Go out and ask your school’s coaches how they approach this concept. I know kids have a hard time seeing that there is more than one way to do things.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s