I have now been teaching with Python for three weeks. That is nowhere near long enough to have a solid understanding of the language but it is long enough to start to form an opinion as a teaching language. As a language it is great. It is simple but has all the features of a powerful language. It is not something I would try in a Programming I course, Scratch and Small Basic are much better for the intro level. It is also not a language for a beginning programming teacher who is not familiar with it. It is not plug-and-play. Simple details like finding an editor, getting modules in the right folder and overcoming the Mac/PC differences make it a bit of a pain. Ah, yes, the Mac/PC thing. All my programming students have a laptop of their own to use, either their private laptop or one I check out to them. I want those with Macs to use them, it is the laptop they are going to use at college so it should be the laptop they use whenever possible. Python acts differently on a Mac than a PC. Small differences but differences none the less. One of the Mac users was trying to fill a rectangle. Several other rectangles in the program filled just fine but this particular rectangle would not fill. The assignment was due so he emailed me the assignment to grade. I opened it on a PC and the rectangle filled. No change in code, just a change in Mac to PC. Weird. For a kid (and the teacher) this can get a bit frustrating and also can make both a bit leery of what else is not going to work the same.
This is a good language to again test how well I can learn a language on the fly. Every language I teach with I have learned in this way. I am convinced this is the way programming teachers nation-wide learn the language they teach with (unless they are the rare programming teacher that has a degree in CS or they came from the programming industry to teaching). Since I am used to having to learn my teaching languages this way it is not a problem. Python, at least at the level I am teaching it, is an easy learn. The book I am using, “How to Think Like a Computer Scientist: Learning with Python 3 (RLE)”, is an excellent starting point. I do need to learn some more whistles and bells that will interest the kids. Something like stop action animation with sprite sheets to go with the house the kids just built with the turtle. The module is there, I just have to learn how to use it and see if it is simple enough for the average kid. I am still thinking this semester of Python is just a lead in to a semester of game writing with Corona.
The local university is offering the same Python course I am teaching. This is their first time offering the course. Previously it was a Visual Basic course. Monday I think I will go sit in on the course. The guy teaching it has a “Dr.” in front of his name so I will assume he knows Python. This will be the first time I have observed a college level course since the mid 90’s where I was actually taking the course. It is going to be a little weird to sit in on a course on something I should know something about. At the moment I am feeling a little nervous about going. I have only observed two programming teachers previously. One teaches Java and attracts very few students to a very high level program, the other is my co-teacher who teaches only the Programming I kids and his expertise is not programming. It should prove interesting and, hopefully, enlightening.