It is almost the end of the year for us. Seniors take finals next week and since most of my students are seniors I am almost done with kids. It is time to look back and see what worked and what did not.
- Programming with Java. Very mixed results. The kids did come out of the course being able to write a program in Java, it is just not pretty. The OOP aspect is missing. I will not teach this course again until I can get some experience in Java. We did get a lot of problem solving done and the kids did learn how to dissect solutions found on-line. I need a course on how to code and teach Java. There was no course offered in Montana so I convinced the local university to offer an on-line course. I therefore will be taking the course next fall. This actually works out just right, I have no kids taking the Java course next year. As long as Java is an entry language in many colleges I will feel the need to offer a Java course, I just need to get better at it. Since this is the first time I had taught Java or even programmed in it since the early ‘90s I am not overly disappointed with the course. Give me time and a lot of reading and it will get better.
- Programming I. OK but needs a bit more focus. “Focus” to me means more interesting to get the kids to focus. Right now the course is Scratch, Small Basic and a little Visual Basic. I think next year we might play with TouchDevelop. It is always good to teach something new so I can understand why the kids get confused when I show them something new. Prepping for something new gives me something else to do during the summer. Keeps me off the streets at night.
- Programming II. Excellent results. They know the basics of programming and can figure out anything they do not know. The three sophomores can actually take a new language and get something going in it pretty quickly. We hit a lot of things in this semester just so they can see what is out there. Small Basic, Visual Basic, Arduino, and Corona. Next year I may get all three in the yearlong dual-credit Python course. Of course now that I have not taught Python in a year I will need to relearn Python. Vicious cycle going here.
- Honors Stats. It was Stats. The “Honors” label thinned out the class a bit. I used to get the kids that needed another year of math and were not math capable. It slowed the class down quite a bit and at least half the kids were bored silly while the other kids would struggle mightily. I can now cover more material with a higher level of comprehension in the class.
Some lessons learned.
- Try not to teach kids that are smarter than you a language you are not good at. You will work yourself to the nub trying to stay ahead of them.
- If you have kids smarter than you do not worry about it. Give them an idea and get out of the way. Be ready to point them at resources. Plagiarize the heck out of them.
- Teach something new regularly. It keeps you humble.
- You do not need to be an expert at a language to teach it. You just need to plan all the extra time it will take to get half-way decent at it.
- Do not give big programming projects. Give lots of little ones. Or give projects with definite steps of development.
- Do not forget where you saved your good ideas. You are going to want them again.
As usual it was a great year. Nobody shot at me or tried to blow me up so of course it was a great year. (Perspective, it is all perspective.) On the education side it was still a great year. As usual I am looking forward to next year. It looks like I will be teaching more and doing less IT work next year. Opps, no, it does not work like that. I will be teaching more and doing the same, if not more, IT work. Never boring and always something new to learn. This is by far the best job in the world.