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

February, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Make Haste Slowly


    On Monday I posted a link to An idiots guide to really bad programming. It is an interesting list but as I read though it I realized that most of what is lists are ways people take shortcuts. They are trying to do things quickly to save time. Most of these things do not save time in the long run. This is a battle we fight with students but even professional developers fall victim to it. It’s one of those things I worry about with the new methods of software development that people are recommending and which appear to be working well for some people. But I’m old school so … Well anyway, I worry a lot.

    There is a saying that “Days worth of coding can save you hours worth of planning” and that is an attitude I see many students fall into. I used to call it the “Ready Fire Aim” school of software development. I was reminded of this over the weekend. I was relying on my GPS device to get me to some places I had never gone before. Now what happens is that sometimes it takes a few minutes for the GPS to get enough signals to know where it is. So the tendency (for me at least) is to start driving in what I think is the right direction while I wait (if you can call it waiting) for the GPS to get a signal lock. The theory is that if I go in the right direction I will save time. Some theory.

    In practice two things happen. One is that sometimes I guess wrong. When I am leaving from home I guess right a lot but in strange states or cities I guess wrong a lot. Secondly, it seems to take the GPS longer to get good triangulation when I am moving than when I am sitting still. So sometimes doing this costs me time – usually more time than I save by guessing right. I’d be better off waiting a bit and letting the GPS get set up. But I am impatient. Students get the same way with programming. They start throwing code together in hopes that they are going in the right direction and that they can do mid course corrections easily. Like me they often guess incorrectly.

    Years ago I was part of an operating system development group (RSTS/E if you want to know) and the team I was part of was assigned the task of rewriting the print and batch subsystem from scratch. We started off our planning and were the very last group to finish the planning and start coding. I know this isn’t the way people do things anymore but it sure did work for us. We finished on time and over the following several years not a single coding related bug was found in our code. One build error, fixed quickly, was it. A pretty good record I think and planning has a lot to do with it.

    How do we get students to plan though? They hear a lot about agile development and “throw away code” and think they are ready for it. What they don’t understand is that what works for professionals does not always work for beginners. They don’t understand that what professionals bring to the table is a depth of knowledge and experience that lets them do things apparently without thinking about it that beginners have yet to learn let alone internalize. I really do think that students need to think a bit before they start.

    I often say that “reading the documentation is the shortcut” and I really believe that. I believe that starting off right, be it reading the documentation, designing your algorithm, planning your methods and variables, and even waiting for the GPS to get settled is the fast way in the long run. Running off without a plan (or GPS signal) may seem faster and it may seem like making haste but in the long run what looks like a slow  start leads to a faster and better conclusion. Now if we can communicate this to students …

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links 15 February 2010


    I’m running late today I am afraid. Got home late from the west coast last night and my body is a little confused about what time it really is. Make me think of the old song that asks “does anyone really know what time it is?” Any way it was all worth it as I had a great time at TCEA in Texas before heading far west to California for a CS & IT Symposium planning meeting. We’ve just about got the agenda set and it looks like it is going to be an amazing conference in July. And we have some things in it that will interest middle school computer science teachers as well as high school.

    Speaking of conferences, my favorite multi-day conference is coming up next month. SIGCSE will be in Milwaukee this year. Will you be there? Intel is already talking about their presence at SIGCSE. I saw a Tweet from @intelswblog linking to the Intel blog post about SIGCSE. And over at the CSTA blog there is a post on K12 day and events at SIGCSE. I hope to see a lot of people there.

    One of the big pieces of news last week was Computer Engineer Barbie! Around half a million votes were cast. Girls picked news anchor Barbie while the general public picked computer engineer Barbie. Now of course the computer science community being what it is this didn’t happen without some controversy. I may have more on that later in the week.

    Speaking of women in computer science, if you haven't already, please sign up to Ada Lovelace Day! Int'l day of blogging to promote women in tech at The idea is for thousands of people to blog about women in technology on March 24th 2010. I’ve signed up and have already written my post. You’ll have to wait to see it though. I encourage everyone with a blog to join in this year.

    Finding the files in directories and sub directories is one practical recursive problem @robmiles shows how to do it. The code is in C# but I think that one can easily figure out how to do the same thing in Visual Basic from it.

    People are wondering why are there no computer science labs submitted to National Lab Day? IS it because not enough computer science teachers know about it? How about you? Do you have a good lab project to share?

    From Matt MacLaurin (@mmaclaurin) Of the Kodu team retweeting @PlanetKodu: Planet Kodu are also hosting a free course that explores all things Kodu, starting on the 1st of March. See the Kodu course overview at their web site.

    A co-worked passed over a link to this funny bit that is a video on a CRM system for a lemonade stand business. OF course it may be overkill (maybe?) for a lemonade stand but it is a good way to introduce what a CRM system is about and how applications are used in today’s world.

    Also in the news last week was this article called Wi-Fi Turns Rowdy Bus Into Rolling Study Hall With bus rides getting longer for sporting events and even for picking up and dropping off students to school is wi-fi for school busses an idea whose time as come?  What do you think?

    Lastly for this week, a link to An idiots guide to really bad programming. I have seen students do everything on that list. Multiple times. Show it to your students and let them discuss why these things make up bad programming. Fun for the whole class. :-)

    Are you following me on Twitter?

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Summer Computer Camps 2010


    Last week I posted about some professional development opportunities for teachers this summer. I expect to post most in the days to come. But for now the other big question I get is about summer computer camps for students. Especially with a game development focus. There are many local camps around the country and some universities host independent programs so you will want to look at those locations near you. But I have a few more general links to share.

    The big story in computer camps is iD Tech Camps. These camps are held at universities all over the US and Canada. From their web site:

    60 prestigious universities:  Stanford, MIT, Princeton…
    Courses:  3D video game design, web design, Flash®, programming, robotics, video editing and more

    Select universities.  Options:  iD Gaming Academy,
    iD Visual Arts Academy, iD Programming Academy

    Giant Campus used to run camps as well but have stopped. They do have some programs that may be interesting though. For example they have an online camp. Not sure how that works but it may be something to look into if there is nothing local to you.

    In Canada, looks like just Ontario, there is Real Programming 4 Kids which bills itself as “Canada’s leading programming programming camps 4 kids” They look interesting at the very least.

    For serious game development https://www.digipen.eduDigiPen Institute of Technology has a number of DigiPen Outreach Programs. Most of their programs are in Redmond Washington but they have several at other locations and online as well.

    That’s what I have now. Feel free to recommend these or any others you know if in the comments. Thanks!

Page 4 of 8 (22 items) «23456»