Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

August, 2005

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Resources for Programming Teachers


    There are a couple of very useful resources for high school computer science teachers that are not as well known as they should be. If you are a high school teacher I strongly recommend them to you. If you know a high school computer science teacher, please, pass these on.

    • – MainFunction is a community web site for computer science teachers. It is loaded with resources. These include a set of online web forums for asking and answering questions, a curriculum center with several complete course curriculums, and a resource center with a large collection of helpful materials like projects, articles and references materials.
    • MSDN Academic Alliance – MSDN AA is a program to provide Visual Studio .NET for schools. The high school membership provides Visual Studio for every educational computer in the building and allows students to take it home to install. It’s all for $299 for everything.
    • Coding 4 Fun – Coding 4 Fun is primarily designed for the hobbyist programmer but it can also be a great resource for people looking to keep their advanced students occupied.  
    • J# Academic Resources – The J# team has assembled a bunch of resources for teachers who want to teach the Java language using Visual Studio .NET and J#. Among other things there is a Marine Biology case study project for use with the AP CS curriculum, educational code samples and a free book.
    • J# FAQ for AP CS Teachers – A little list I put together a while ago for teachers interested in J# for teaching AP CS.

    I’ll blog about more resources from time to time but these are, I think, especially good. The MSDN AA program is really wonderful for acquiring software while the community at MainFunction is just loaded with helpful resources and information. Pass it on!

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Teaching Students to Comment Part 1


    Getting students (actually just about any programmer) to write comments is an uphill battle. I tried to convince my students of the value of comments by something from my own experience.

    I had written a graphics program back in college many years ago. A few years later (OK about 20) I decided to write the same program again. This time I was programming in Visual Basic. FORTRAN seems not to be so easily available any more. I remembered most of the program and knew I could figure the rest out as I went alone. The program was supposed to draw geometric shapes but when I ran it lines went everywhere but where they were supposed to go. I stared at the image on the screen and realized that I’d had a similar problem when I had written the original program. What I could not remember was how I’d fixed it.

    Believe it or not I still had a copy of the original code. It was on punch cards (yeah, I go back that far) and I was able to find it in a box that my wife thought I had thrown out. Fortunately I had written comments for the code. I quickly found the problem. I was passing angle information in degrees rather than in radians. A comment explaining the parameter for a function call made this clear. A quick change and the program was working just great.

    That’s a good story for justifying commenting code that is non-obvious or to explain something that was not easy to understand. It’s also a good example of why interfaces to methods, modules, classes and the like should be commented. But we all know that those kinds of comments are still too rare.

    I recently read a blog entry by Justin Creasy, CTO of Immerge Technologies on the subject of commenting. I recommend Justin’s version but the short version is that his team writes to comments before the code. In short they build the outline of the program using comments during the architecture and design phase of development. This has several advantages. One is that it aids the planning process. Another is that the comments are already there when the code is written. The trick of course is keeping to comments updated as the program changes.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Programming Classes for Everyone


    As I write this teacher friends in Texas and Florida are getting ready to go back to school in the next week or so. I’m sure that many other teachers in other states are also getting ready. My wife, a middle/high school librarian, is a few short weeks from going back to work herself. It’s and exciting time filled with promise. Well it is for most teachers. But for teachers of computer science there is some uncertainty on the horizon.

    One of the things I am hearing from teachers around the country is that school districts are cutting back on computer science. I know a teacher who used to teach a number of programming classes who is once again a full-time English teacher. Now there is nothing wrong with teaching English. I loved English as a student. But I do not think that dropping programming is a good idea.

    Before I was a teacher I did not see a lot of value in teaching programming to high school students, let alone students younger than that. Nine years in the classroom changed my mind. In fact now I not only thing that high schools should offer programming as an elective I think it should be a required course. When I say that someone almost always responds with one of a couple of objections:

    • Programming is a vocational school and we are a college preparatory school.
    • Programming is too hard for many students.
    • We need to focus on core skills so our students can pass standardized tests.

    I think that all three of these objections miss something important. Programming is about problem solving and critical thinking. The last I look those were important schools for college bound students, students headed straight for the work place or trade schools *and* knowing how to solve problems is often useful when taking a standardized test.

    I agree that many programming courses are hard. I would not suggest that a student with no programming preparation should enroll in an Advanced Placement Computer Science course. (Although that is the first programming course in far too many schools.) I can’t imagine someone accepting a student in AP Calculus if they had no prior courses in mathematics. Can you imagine an AP Calculus teacher teaching addition, subtraction, multiplication and division in there class? I don’t think so. And yet many AP CS teachers have to start from scratch. No wonder students find themselves in too deep.

    That being said, a programming course can be fun and approachable for any student. Languages like Visual Basic .NET are not scary. Windows Forms, a key part of Visual Studio .NET, allows students to create real Windows programs with very little code and achieve real success early on in a course. There are free resource materials including a complete curriculum available at Check out the Curriculum Center.

    I’ll have more to say about programming for everyone and teaching critical thinking and planning skills in future blogs. See you soon!

Page 1 of 4 (10 items) 1234