It is not about coding

I was chatting with a teacher friend of mine about the difficulties he was having teaching programming in his technology class. He teaches a section on robotics in his practical technology classes using RobotC and Lego Mindstorms.  He is not a programming teacher; he is a machine shop teacher who has graduated to some very advanced computer controlled manufacturing machines.  He offers an engineering class with the robotics section and his thought was he should be able to teach the kids the syntax of RobotC and they should be able to figure out their robot projects from there.  It is not working out.  The kids simply cannot figure out what to do.  My friend suffers from what I see a lot in inexperienced programming teachers, the idea the programming is all about knowing how to type code.

Many beginning programming teachers have a fixation on coding.  (I differentiate programming and coding.  Coding to me is writing and typing code.  Programming is the complete package: algorithm design, building a user interface, and a whole lot of things that are done before sitting down in front of a keyboard.  I do this just so I can separate the two behaviors.)  I have attended two week long summer camps for teachers, one from Microsoft about Touch Develop, and the other just this summer about a curriculum written at Montana State University on how to teach Python.  Although both camps were for teachers neither dealt with any pedagogy on how to teach coding or programming.  Both stressed syntax and how to read the curriculum they had designed.  It was implied in both camps that although pedagogy was important it was something that would somehow be easier that coding and syntax.

This is where I start waving my hands above my head and using phrases like “Are you out of your frigging mind!?”  To teach programming, or even coding, it would help to actually know how to teach programming and coding.  It is necessary to know to step away from the computer and teach kids how to plan and think.  Things like how to disassemble a problem into manageable parts.  These are not skills the kids are adept at.  These are skills many teachers are not adept at and therefore need to be taught to teachers.  Previously I talked about how surprised I was at the lack of knowledge the new teachers had towards how to teach programming.  Little things like having the kids write the procedure for building a peanut butter and jelly sandwich then having a second kid follow those directions, or when programming with turtle graphics having the kids either walk or use something like a toy car to follow the desired path. To those of us that have been teaching programming since FORTRAN was popular these are common teaching strategies.  To new teachers they seem to be a revelation.

My friend feels he should be able to point the kids at syntax, and from there they should be able to figure it out.  After all, he figured it out that way.  The trouble with that strategy is he is not a 16 year old male whos brain is still not completely wired.  Those thinking skills that require logical steps, organized thinking, and all sorts of brain skills required to program have to be taught.  Considering the students my friend has (he does not get high-level thinkers or computer geeks) what he wants to do in a couple of weeks might be difficult in a couple of months.

My friend’s goal is to teach problem solving.  Teaching coding does not teach all the preliminary work needed to teach or learn problem solving.  Without that preliminary structure, he is just going to frustrate himself and his students.

One Response to “It is not about coding”

  1. codeinfig Says:

    i agree, but its really difficult to teach programming without coding. for so many people that have learned how to code, the first experience was the magic of watching things they type turn into things the computer does.

    theres simply too much stress put on that part of it. my approach is to remove a lot of the syntax and make a language out of words more than punctuation.

    however, even with a syntax that is lighter and a language that is easier, you still run into this. its tough to get past the language, into the application. focusing on the language too much is definitely wrong, but its often the part people are focusing on until they realise theres more.

Leave a comment