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

February, 2006

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Create your own IM BOT!


    Nicole, from the MSN Messenger group (Windows Live Messenger?), has a blog entry about some existing Bots that you can use from MSN Messenger and some suggestions of Bots she would like to see.  You may have already heard about the Encarta® Instant Answers BOT ( ),  that lets you ask questions which it then looks up for you in Encarta. Nicole lists a whole bunch more. Her blog is worth reading for that alone. But it gets better.

    The idea of talking to a computer and getting answers that appear to come from a real person has long been the goal of computer programmers everywhere. It looks like now there is the chance for a lot more of us to try that sort of program out for ourselves.

    Conversagent, in partnership with Microsoft, is making a free license available to their BuddyScript Software Development Kit (SDK) for creating BOTs and what are called Activity applications so that people can create their own BOTs.

    Think about writing a BOT that answers question about your school? Or perhaps reports back on the scores of sports teams? How about a BOT that people can ask if there is a snow day? Well, that may be more useful where I live than some other places. But you get the idea.

    This may very well be a good project for a student or team of students. And if they make a very good one Conversagent may wave the normal six month limit on the license. At the very least they can try to make a BOT that gets their friends to wonder if it is a BOT or a real person they are talking to?

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Is it about the journey or the destination?


    I like to work with wood. I find that building things myself is very satisfying and enjoyable.  But I had a professional carpenter working in my bathroom this morning. He was fixing a section of floor that had been ruined by water from a leak. I could have fixed it myself. In fact I did fix the same section of floor myself about 10 years ago. I didn’t though. Why? Because it was about the destination and not the journey.


    Let me explain. When working with wood on a project much of the enjoyment comes from doing the actual work. Let’s call that the journey. The end result, what ever is constructed, is the destination. There are times in life when the journey is the most important thing. Getting there is nice but the journey is the real valuable experience. On the other hand, sometimes all that is important is the end result or arriving at the destination.


    How you chose to do something depends on whether or not the journey or the destination is the important part. This decision determines how you make the journey. As a teen I rode a bicycle from California to Delaware (a distance of about 3100 miles) in a month’s time. The journey was the important thing. If the main goal was to get to Delaware I would not have started in California (I lived in New York at the time) and I surely would not have taken a bicycle. I would have flown or driven or taken the train depending on other considerations.


    Today what was most important to me was that the floor was fixed quickly and properly. I don’t want to have to do it again and I do not want to fall through the floor. While I could not afford a carpenter last time this happened I can this time. This was not a fun and interesting job but it needed to be done. A professional did the job in half the time it would have taken me and the end result is much better than I could have done. There was no good reason (other than possibly saving money) for me to do it. And of course there are lots of better things for me to do with my time.


    So what are the differences between a professional and a hobbyist doing a job for fun? And how does it all relate to technology? Glad that you asked!


    A professional has two things that a hobbyist generally doesn’t have. One is training and the

    other is professional quality tools. Now sure there are hobbyists who have training and great tools. I have a friend at Microsoft who has a very professional wood shop and the training to use it. He has even worked as a professional carpenter. But he’s exceptional.


    The training is the first big thing. When you do a job professionally you need to have more knowledge than experience alone can give you. You can not afford to learn by trial and error.


    Tools are the second big thing. The carpenter who came to my house had a much larger selection of tools than I will ever have. The tools he has are also more powerful, more sturdy and more specialized. They give him the ability to do things better and faster. I think that both the hobbyist and the professional enjoy what they do but they enjoy it in different ways.


    This is all true of programmers as well. A good professional programmer has learned from

    other people’s mistakes. They have been trained. They also have professional tools. An amateur programmer can enjoy programming in a simple text editor or a free, limited capability IDE. The professional wants more from their tools. Oh sure they have the knowledge to do things the hard way but they have the experience to know that they want to save their mental energy for the things that really require it.


    Their professional training, like the professional training of a carpenter, is done using professional tools as well. Sure they may get some background in older tools for special tasks or for getting to know the basics but when they are learning how to really do it on the job they use professional tools. I believe that student programmers should be trained using professional quality tools as soon as they have enough of the basics to be able to handle them. A professional needs to get to the destination in the best way possible and professional quality tools used by a person trained to use them is the way to do that.


    Is the goal the journey or the destination? What kind of programmers are you teaching?

    Are they going to stay a hobbyist programmer who programs as much for the fun of it as the end result? Or are they going to be a professional who gets the job done quickly and efficiently? What kind of tools are you using to teach them?

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Robots - toys or learning tool?


    A friend of mine sent me a link to an article on the new Robosapiens. Well it looks like a great little toy but what else? My friend also sent me a link to a course at Northeaster University that uses this same type of robot as part of a networking course.

    More and more I think we are going to see robots in our classrooms. They are a lot more interesting that a lot of other things in class. Plus of course they have the potential to change the way we live our lives. I know that my Roomba has already changed the way I think about keeping the house clean.

    I'm not sure where robots are going to go in the future but I think it will be useful if we teach students using and about them now so that they can better create the future.

Page 1 of 10 (28 items) 12345»