Additional profile information on Alfred Thompson at Google+
Have you read about the new Power Toys for Visual Studio yet? Sara Ford talks about them a bit on her blog. These toys, tools really, have been released as shared source at the http://codeplex.com web site. Shared source means that the code is available and you can add to them yourself. In fact Sara lists several ways to get involved.
Why would a student get involved? Several reasons. One is to make the code into what they want it to be. Another is the chance to work hand in hand with the professinal developers of the Visual Studio team. If you are looking to make a name for yourself as a sharp developer and strong problem solver you way want to step up to the plate. Who knows where it might lead?
BTW the Power Toys themselves look interesting as they are. One that I want to spend some time with is the Managed Stack Explorer. Somehow I think that being able to look through the stack of a process could be a powerful learning tool. Are high school students ready for it or should it wait until college? What do you think?
My very first teaching job was in a pair of elementary schools as a computer specialist. I had some notes from the teachers who had taught in the past but basically I was making things up as I went along. It was an interesting year to be sure and some things worked better than others. Overall I think I did a good job and both principals were sad to see me leave them for a high school opportunity.
One of the highlights on my teaching week while in elementary school was kindergarten. Picture 24 tiny little kids marching into a lab with 12 Apple II computers and one terrified new teacher wondering how he was going to manage things. How do kids who can’t read follow written directions? Do I have to tell each one what to do next on each little thing in the educational games I had set up for them to run? It turns out I didn’t.
Things worked out because kids are great. Kindergarten kids learn very quickly. They can even learn to read words like “rectangle” if they see them often enough. Now some learn quicker than others but I always had two children working on each computer. So an exciting thing I learned was that kindergarten kids help each other. They seem to work together better than most adults I know. They taught each other and liked it. Having two children using the same computer was never a problem for me with kindergarten students. Never. Kids can get along fine and work as a team. Who knew?
I was reminded of this experience when I read a report from Microsoft Research India about some work they have been doing there. One of the huge problems in India and lots of other places is a lack of resources. Many schools just can not afford a computer for every student. So what they did was to connect several mice to each computer. This way several students could use the same computer at the same time in a collaborative learning experience. The results were surprisingly good.
Of course this requires some special software and you have to design programs to work this way. But it seems to me that this is a great step forward. I’m wondering how this might work in teaching programming. We already talk about extreme or pairs programming. What would it be like for several students to each have a mouse on the screen? Chaos or would they work together and teach each other? An interesting idea to think about.
There don’t seem to be any comments on teacher certification at the CSTA blog. This amazes me as I know this is an issue of wide-spread interest and concern. I can only assume that people just don’t know that Chris is asking the questions. Well I could assume that people don’t care or that they don’t have opinions but that seems unlikely. Teachers tend to be very opinionated about certification. So I left some comments there and I sent an email to the AP CS teacher mailing list. But I thought I would also expand a bit on the comments I left on the CSTA blog.
1. Do you think we should have a national high school computer science certification requirement that would apply in every state?
I'd like to see a nationally recognized model certification that states could elect to adopt. I'm not so big on Federal mandates. I think that there has to be some room for states to fit a computer science teacher certification into their own normal scheme of things. I think that where a national model can help is to specify what computer science is and what sort of things (training, experience, etc) qualifies one to teach it.
2. Would your state actually opt in to such a program?
Honestly I don’t know about my state but I’d like to think New Hampshire would go along with such a model. New Hampshire long ago adopted a computer literacy requirement for graduation. While that standard could use some updating I think that it exists at all is a step in the right direction.
3. Should computer science be classified as a science, math, technology, or business specialization?
I struggle with this one. Part of me argues for science and part for math. It's sort of like physics that way isn't it? There is a lot of both science and math in CS and in physics. Computer Science as a separate category is never going to fly. I could live with it in either math or science. Is there a way to have it both ways? I’m not sure but I’d love to see a discussion on the matter.
Business and technology are not good options in my opinion. The reason for that is those departments tend to be vocationally oriented and not college oriented. Now I believe that vocations are important, valuable and under appreciated so I'm not saying anything against them. But both vocational and college prep students take math and science. College prep students tend to stay away from vocational courses. I think we need to include computer science into an area that allows for the inclusion of the most people. I do believe that everyone, or pretty close to everyone, should have a real computer science course before college.
4. Should there be a single national praxis test that could be used to ensure sufficient subject content and teaching mastery to support certification?
I'm not a big fan of tests. I think the certification standard should specify options that include specific course work, reasonable in-service training, professional history (let's let some of the SW professionals get into the class room) and maybe (but only maybe) a national exam. The big question in my mind is who writes the exam? How do we make sure that the questions are both necessary and sufficient? If there is an exam than it has to be done right.