This is a continuation of an earlier blog. I had more to say but was getting tired of reading my own writing.
I really do not care that my students can make a Christmas tree with Xs and Os and tabs. If, for some strange reason, they have to make a Christmas tree with Xs and Os and tabs I want them to know where to go to learn how to make the Christmas tree in any language.
This perspective is sort of wrapped in with Alfred Thompson’s “What can you do with what you know” article and some of the other job interview conversations taking place on the blogs. In 2000 I was interviewed and, strangely enough, got hired by a local software company. Now realize I was not a CS major in any way, shape or form. Just a high school math teacher that knew some simple programming. The interview questions were rather simple. Did I know what a database was? I knew the answer to that one. Could I program with SQL? I had no idea what SQL really was but I think my answer got me the job. I simply said “No, but I sure can learn how.”
I think employers want versatility and adaptability. They want to hire people that can learn and learn quickly. You just have to look at some of the Google interview questions to see what some companies want. They do not want to hire Java programmers or any particular language. They want to hire smart people that can learn what the company needs and learn it quickly. The only way to prepare students for that kind of market is to force students to practice learning on their own and not be constantly holding their hand. Of course there is a fine line here, after all they are still kids and will need some guidance.
I just read an article on program language usage trends. Looking at this article as a teacher it is possible to wonder “Am I teaching the correct language?” Although this “which language” topic has been thrashed forever it is still an interesting topic. My solution is to teach an initial language and then try to teach the kids how to learn a language. Does this approach have drawbacks? Sure, they cannot walk in to a college Java class and make a Christmas tree as quickly as a student who just took a year of Java. But they are very capable of learning how to make that tree in any language.
Programming should not be just coding. If a company wants just coders it is much cheaper to ship the job overseas (as the software company I was working for did). Next year I am planning a Java segment for my advanced students. The assignment will be to code some simple project in Java (maybe a Christmas with Xs and Os). There will be no Java editor on the computers. I have a couple of Java books floating around my office, I will set those out. As the teacher I will be there to help the kids iron out any difficulties and frustrations they are having installing an editor (most likely Eclipse), help them understand how to dig up tutorials and read the books. They will not become APCS level Java programmers this way. But hopefully they will become more self sufficient programmers with a broader skill set that just coding.