Thursday, November 11, 2010

Break it Down

How do we as teachers who have studied something for several years and have become, or are working towards becoming, experts in particular subjects, stop ourselves from over teaching something that seems so simple to us, or prevent ourselves from going on to tangents that are beyond what the students are ready for?

The above question is one that until recently I felt I was great at doing. Relating to the current level of understanding of an individual to help them grow from their current state without referencing material too far ahead and without teaching things they are already well acquainted with. As a CS142 TA I quickly realize I'm not as good at it as I thought. Though I do have to also admit I'm better at that than many of the other TA's or even professors (who are 20+ year professionals in their field, speaking specifically about many of my CS professors). This is something I recognize now I need to work more on.

I attempted to teach a few people about how to use an exported movie clip in Java and make it appear on the screen without having previously been on the stage. I think with a bit of a better intro into what I was doing I'd have done a better job, but I am pretty sure the person I was helping was lost beyond retrieval and it was my fault as the tutor than hers as the learner.

Similarly I attempted to teach someone about nodes and classes and retrieving info from one class to another and all sorts of complicated programming stuff that has become for me a type of second language that I can speak now as fluently as English (to carry on with Geoff's language analogy). After losing this person completely I finally went up on the board and rather than drawing a picture myself I had the individual draw what they thought was happening and then I drew what was actually happening and they began to understand what I'd attempted to teach. This is my goal, to be better at teaching a person at the level which they are at.

Visual Examples

In high school I had a computer science teacher who was all about Drawing pictures. So much in fact that I have to draw myself a picture for every computer program I write. I didn't realize how important of a tool that was, and how much of a blessing it is until I began TAing for the CS142 and CS235 class. Students in these classes do not know how to draw a visual representation of their programs, and because of that they find themselves stuck frequently, questioning why their code won't work, but unable to figure it out. When they ask me for help I look @ their code and draw a picture of what is happening, and right as I begin to approach their issue they stop me and tell me they found the problem. Why? Because my drawing helped their brain to acknowledge the problem before I even got there.

I brought that up while finishing up the "Classroom Instruction that Works" book I came across the chapters that talk about note taking and non-linguistic representations. Drawing a picture for understanding is the best non-linguistic representation one can make. Drawing pictures plants an image in our minds that we can reference. In programing lots of things are happening in quick succession. Code is jumping from function to function, loop to loop, and class to class. Without a visual representation of what you're trying to do, you'll probably crash and burn.