Teaching is hard

This week was the start of a new summer semester at CDOT ( Centre for Development of Open Technology ) and each of the various projects had new hires. Robert Stanica, a fifth semester student in the BSD program at Seneca joined our team and will be primiarily focusing on getting Butter to work on mobile devices. This means phones and tablets running various OS', such as Android, iOS, and even Mozilla's new Boot to Gecko. Having someone focused on mobile development will be great as we've definitely been lacking on mobile front. Robert, however, is pretty new to JavaScript so he's been spending the past few days reading and researching how it works. He's been going through "JavaScript: The good parts" by Douglas Crockford as well as doing Code Academy. Even tho these are great resources for learning JavaScript, Robert inevitably still had questions so I've been doing my best to answer them.

Now I'm no teacher, not by a long shot. I tend to stumble over my words when trying to explain things, it ends up coming out as a jumbled mess that I have to piece together again after. Despite this I've been doing my best to explain concepts to Rob such as the difference between and =, how scoping works in JavaScript, objects, and closures. One thing that I've noticed doing this over the past few day's is how hard it can be to concisely explain something and it has really got me thinking how under appreciated a good teacher can be. One of my bigger pitfalls when explaining concepts, as I explained before, is how I tend to stumble through an explanation. I jump back and forth between points making it difficult to understand what I'm trying to say. This is also evident in the way I give presentations. I tend to add lib a bit and whenever I do I tend to ramble on. I'm trying to make a conscious effort to slow down when explaining things and take a brief pause if needed to collect my thoughts. It's difficult to do ( for me at least ) because I always attribute pauses of any sort to someone not knowing the content, when in reality I probably look worse trying to rush.

I think the funniest moment over the past few days has been when Rob wanted me to explain something from the book he was reading. There was an example about closures that had the following piece of code ( might not be exact but close enough ):

var i = 20;

console.log( i.toString( 16 ) );

At first Rob asked me what the arguments were that toString took. Without even thinking I'm pretty sure I blurted out "none" and didn't think anything of it. "But it's in the book, look", I didn't believe him at first, so I had to see for myself. I ended up looking at it dumbfounded for a while trying to figure out what was going on. My response was "Well, let's see what it does" which I don't know if I looked dumb for not knowing that toString took an aruguement or not, but regardless this was an opportunity for both of us to learn something together. I busted open my console and began playing with it and we soon realized that if a number was passed into toString it would convert the value to a base-X value. This meant passing in 16 for our value of 20 returned 14, and passing in 2 gave us 10100. It just goes to show that there is always an opportunity to learn something new and I think teaching is a perfect example of this.

Being forced to explain your ideas in more depth than normal can be really difficult and truly is an art. I did my best over the past week to help Rob and I hope some of what I was saying was useful. Teaching someone is really hard and we should appreciate the teachers that we've had that we're good at explaining concepts and helping us ( everything always seems easy until you try and do it ). This was a great experience for me and I learned a lot about how do communicate more effectively and realized I've got some brushing up to do myself. Even tho I use most of these concepts daily, it was hard for me to explain things at times and teaching really forces you to know your content inside and out, as you will always get questions that you weren't expecting. Being able to teach is an art that we all tend to take for granted and until you try and do it, never fully appreciate how hard, draining, and complicated it can be.