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

June, 2007

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Two Weeks Until NECC


    I'm starting to get jazzed up about NECC this year. As time gets closer I learn about more people I know who are going, more events worth attending, and just more possibilities to learn. A couple of things I am especially looking forward to:


    Saturday June 23rd at the Georgia World Congress Center Room B308. 9AM to 5PM The attendee page is here. There are close to 100 names on the list. Even if half of them actually make it then it will be a huge event for educational bloggers. I am so glad that I have to be in Atlanta earlier enough to make it. Last year there was a smaller less forma get together and it was just outstanding. This is going to be amazing I am sure. So many bloggers I read will be there. Very exciting. No really!

    SIGCT Forum

    Monday, June 25
    7:30am – 10:30am, Room B202

    Following SIGCT's name and mission statement change, the SIGCT forum will focus on how to bring traditional Computer Science ideas to the K–12 realm. The breakfast forum, planned for Monday morning, June 25, is intended to allow SIGCT membership to network, to be involved in a panel discussion related to teaching computing concepts (who, what, when, where and how) and to work together in smaller groups to formulate direction for SIGCT activities in the coming year. The panelists include Debbie Carter (Lancaster Country Day School (K-12)), Philip East (University of Northern Iowa) and Michael Kölling(University of Kent). Joe Kmoch (SIGCT President) will moderate. Other SIGCT Officers attending will also be offering their ideas.

    I've known Debbie Carter and Joe Kmoch for years and they really know there stuff. I know Philip East less well but have heard him speak on numerous occasions. He's great. Michael Kölling is of course the well-known creator of BlueJ. Quite an impressive panel to say the least. Speaking of SIGCT - they have a wiki these days. One of the things you will find there is a spreadsheet with presentations at NECC that will likely be in interest to Computer Teachers.

    NECC Sessions

    My good friend Pat Philips is giving a presentation on one of my favorite topics - Computational Thinking: A Problem-Solving Tool for Every Classroom on the 25th between 12 and 1:30. Mitchell Resnick and Tom Cortina have presentations at the same time. What am I going to do? Chris Stephenson from CSTA will be talking about getting more girls into CS the next day. She's always interesting. Beth Brown has a talk on teaching object orientation using Visual Basic 2005 - I have to get to that one.

    Looking through the SIGCT spreadsheet convinces me that this year there is more than in recent years for Computer Science Teachers at NECC. This may be the best one ever for me.

    CS & IT Symposium 2007

    On the 28th is the annual CS & IT Symposium at the Omni Hotel. Lots of more impressive speakers than me will be there. But I will be speaking none the less. IF you are coming please look me up and tell me you read my blog. My boss has suggested he may come as well so if you hate my blog we'll talk later ok?

    If you want to meet

    In between sessions I'll be hanging around the Microsoft booth from time to time. If you can't find me any other way leave me a message there. Or send me an email at AlfredTh (at) The out of office message will give you my cell phone number. But a secret - I will be checking email and looking out for messages from people at NECC. If you are there I really want to meet you.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    DigiGirlz High Technology Camps and Other Microsoft Youth Programs


    There are a number of DigiGirlz Camps sponsored by Microsoft coming up this summer. The one in Stony Brook NY (July 24-26, 2007) still has openings but applications must be in by June 18th. So act quickly if interested. 

    Part of the overall DigiGirlz program that is designed to expose more girls to the many career possibilities available in technology these three and five day camps well be going on around the US this summer. They look like great opportunities.

    Microsoft offers several programs that provide students in kindergarten through twelfth grade with opportunities to interact with today's technology and learn about careers in the high-tech industry. The programs include opportunities for workplace visits and tours, career days, technology camps, job shadowing, and summer internships. While some of them are currently limited to the Puget Sound area in Washington State increasingly programs are becoming available around the country.

    I've been involved in school workplace tours in the Boston area, Chicago and Austin TX this year. I know that a lot of other locations are welcoming school groups as well. These visits have been great opportunities for students to meet people with careers in the computer industry and find out what it is like and what it takes to succeed. Reviews from these visits have been great.

    You can read about Microsoft's youth outreach programs here.

    Technorati tags: ,
  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Programming Proverbs 19: Prettyprint


    While compilers generally don't care about how code looks as long as it follows the rules on syntax. Those rules generally are there for the convenience of the compiler and not for to make the code easy to read by humans. In fact there is an annual contest to write the least understandable C program in the world. The problem is that programs that are hard to read are also generally difficult to understand and debug.

    There was a time most programmers used a program of a type called "PrettyPrint." This was a program that took source code and reformatted it to make it easier to read. Programmers might not pay much attention to how a program looked but when they were ready to print it out for debugging, code reviews or to collect in hard copy documentation they would run the source through one of these programs. The program would use indentation to show how decision structures and loops were nested. They would add  white space to separate different tokens (symbols, variables, operators, etc) and generally pretty up the code.

    When I was teaching and students brought unformatted code to me for debugging I would often ask them to first clean up the formatting. IF there was no PrettyPrint program or IDE feature available they would have to do it manually. It meant more work for them initially but the improvement in debugging speed was always worth it. Good indentation helps to determine if loops or decision structures are nested properly. Spaces around operators often helps spot typographical errors. IN general the use of white space makes reading everything much easier. Finding bugs is difficult enough without the code itself being difficult for the eye to parse.

    One thing I like to do with printouts of code is to draw lines connecting the start and end of all loops and blocks of code in nested decision structures. This is much easier when the code is indented. Often times the act of drawing these lines is enough to make it clear where incorrect End If statements or closing curly braces are. This activity has made believers (in the value of formatting) of any number of students over the years.

    Today a lot of IDEs and code editors will take care of some formatting while code is entered. In fact when code doesn't look nice and indented this is often an early clue that the IDE is confused about what the code is trying to do. If the IDE is confused the compiler is probably going to be confused as well and that is never a good thing.

    The Visual Studio IDE will format code either as it is entered or on command. Others probably do as well. It is a powerful tool to call an unformatted source file into an IDE, select a section of code and then ask the IDE to format it correctly. Visual Studio has some options to change the formatting used to meet different coding standards. For example haw are the  curly braces formatted? Are they on their own line or at the end of a line?

    Today there is little excuse for code that is unorganized and difficult to read. The tools that are available for good formatting make readable code easy for even the most lazy of programmers. Still I think it is important to explain to beginner programmers just how important that formatting is. Development groups don't put all that effort into IDE formatting tools for the fun of it. Sometimes how the code looks really does matter. Good coders almost always have good looking (easy to read) code.

    This is the nineteenth of a series of posts based on the book Programming Proverbs by Henry Ledgard. The index for the series is an earlier post and discussion of the list as a whole is taking place in the comments there. Comments on this "proverb" are of course very welcome here.

Page 6 of 8 (24 items) «45678