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

August, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Time To Mine the Data


    Or is it “mind” the data? Last week I read a blog post by Stacey Armstrong (CS News – Video Game Data Mining) that linked to an article about how game companies collect and use the data they collect while people play their games online. (Video Game Data Mining) This is going to be a discussion topic for his computer classes this year. And a great one it is. As we discuss ethical issues in computing how companies collect and use data is an important topic.

    I knew that game developers collected and used game play data during testing and development of games already. This has been a topic at a number of conferences (Foundations of Digital Games (FDG) Conference Series) I have attended. By looking at the data they can determine if part of a game is too difficult or too easy. It turns out both upset gamers. They can evaluate mazes, characters, and pretty much any aspect of the game play. This helps contribute to making games better. I hadn’t heard about studying data once a game was released though. It does make sense of course. There are also privacy concerns as there are with almost all data collection these days. The data can be collected without saving personally identifiable information and stored safely to protect the users. This has to be done deliberately and carefully of course. Not long ago Google came under some serious criticism for collecting too much and too detailed information about wireless access points for example. (Google: Oops, we spied on your Wi-Fi) Even with good intentions too much data, especially in the wrong hands or with improper protections and security, can become a real problem.

    As a society we are collecting more and more data all the time. Terms like “data mining” and “business intelligence” are becoming part of the vocabulary of business schools, marketing courses, MBA programs and pretty much though out industry. Scientists in all fields are also swimming in huge data sets with amazing potential. Computer scientists are the ones who are going to be the ones making since of all this data possible. We’re going to have to understand the technical aspects of all this for sure. But we also need to make sure that the computer scientists working on all this data are aware of the ethical considerations as well. Ethics is not something people can outsource or depend on others to decide for them. Many times it takes a greater technical background to help understand what the possibilities are than non-computer scientists can be expected to be aware of. Computer scientists will often have to explain the complexities and risks of various data collections. Likewise computer scientists will sometimes be dependent on experts in other fields for better understanding of what specific pieces of data really mean.

    For all of these to work though there has to be a common ethics vocabulary. This is just one reason that all fields need to have some aspects of ethics discussion and training these days. And why it has to start young.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Posts 30 August 2010


    One of the things I tell people when they ask me about why I came to work for Microsoft is that the company has grown up in many ways over the years. One of those ways is in giving back to the community both in general and education in specific. For example, last week it was announced that Microsoft  Is Helping to Launch National Day of GiveCamp. What is Give Camp?

    GiveCamp is a weekend-long event where software developers, designers, and database administrators donate their time to create custom software for non-profit organizations. This custom software could be a new website for the nonprofit organization, a small data-collection application to keep track of members, or a application for the Red Cross that automatically emails a blood donor three months after they’ve donated blood to remind them that they are now eligible to donate again. The only limitation is that the project should be scoped to be able to be completed in a weekend.

    (Note you can follow Give Camp on Twitter @GiveCamp)

    An education specific effort from Microsoft is called EduConnect. @Microsoft_EDU blogged about EduConnect on a blog post titled  Microsoft giving back to schools via EduConnect. This is a program Microsoft has been building to help employees volunteer in and give aid to their own local schools. It’s been growing by leaps and bounds because a lot of Microsoft employees really want to help make education better were they life – and else where.

      A Computer World article called 5 indispensable IT skills of the future has caused a lot of discussion among both educators and professional developers. Are these the right skills and what is the right way for students to get them to prepare for careers. And what does everyone not an IT professional need to know about IT skills?

      Like Puzzles? Check out this new project from Microsoft’s @FUSELabs team Short version of what it  is – a chance to work on a crossword puzzle with your friends no matter where in the world they are. Very cool. Also a great example of what cloud applications may look like in the future

        NASA Announces High School Competition for Future Engineers: Design Software for Small Satellites on the Space Station. If you or students you know are interested in space based projects check this out. But do it soon as signups close in a couple of weeks. I have to hand it to NASA as they are really invested in educational programs.

        The Microsoft Kodu team ran Kodu Kamp at Microsoft’s headquarters in Redmond WA recently. There is a new blog post with lessons and pictures from the events.  By all reports a great time was had by all. besides young students the event included some hands on time for teachers to learn about Kodu and its potential in the classroom.

          My manager, Bob Familiar aka @bobfamiliar on twitter, blogged about Bullet Asylum - Missile Command on steroids for Windows Phone 7. The post includes a video trailer.

          Microsoft Surface meets Microsoft Robotics Developer Studio at U. Mass Lowell. In a nice synergy of Microsoft tools the robotics program at the University of Massachusetts at Lowell uses hand gestures on a Surface device to control the operation of robots. (hat tip Microsoft Robotics Studio blog)

          You can watch the video to see how smoothly it works. Visit the Robotics Lab web site for more information on work in progress.

            Last week I wrote a post for the Educators’ Royal Treatment titled "Do We Need To Teach English In School?" In the article I posit that the arguments that we don’t need to teach computer science in schools to “Digital natives” apply just as well to teaching English to native English language speakers. Comments welcome and encouraged.

            One final reminder, if you are using Twitter I hope you will follow me @AlfredTwo. I’d love to follow you back so send a tweet my way. Thanks.

          • Computer Science Teacher - Thoughts and Information from Alfred Thompson

            Error Messages and Providing Information


            The most interesting error message I ever saw read something like “Unexpected error – installation dying in disgrace” It was the “dying in disgrace” that I found really amusing. It wasn’t all that helpful but it did provide some humor in an otherwise very serious situation. At the time I was doing application installation testing for the final build of an operating system so this was a really big deal. Someone got called into work on a weekend to deal with that let me tell you. It would have been better for all of us if there had been more detail in the message of course. This is just one example of how important messages can be though.

            Earlier today Doug Peterson posted (Tweeted on Twitter actually Follow Doug @DougPete) a link to the image below and called it a good discussion point for computer science classes. I agree. (Doug later blogged about this as well – check out Error Messages for Learning)


            Just what does that message indicate? Is it success or is it an error? Or is it some success handling an error? Is it bad or good? Who did what to cause it? And what is going to happen when the user hits the OK button? This message promotes more questions than it answers. I wondered if a student created this message but apparently it came from Family Feud on Facebook. Not what I typically expect in a professionally developed piece of software.

            I’ve had students write programs with some obscure (lazy) messages as well as some fairly nasty error messages over the years. Error messages that call the user names or berate them as stupid and the like. This results in a discussion about the term “user friendly” of course. The other issue is messages that do not provide the user with enough information on how to handle the situation. There is a real knack to helpful error messages and it takes some thought. A message that says “bad things happened” is not enough by itself.

            Error messages are not the only sort of messages though. There are also messages that ask questions, give instructions, or a combination of both. We work hard to emphasize that the computer can’t handle ambiguity but forget to remind students that users need clear easy to understand instructions and information as well. Teachers often don’t cover this in courses like the Advanced Placement Computer Science exam course where the focus is almost completely on programing concepts. Teachers often neglect related concepts like user interface design, error handling, and other human computer interaction (HCI) concepts that we tend to include under the heading of software engineering. Some of this is because of a feeling of necessity – there is limited time in the school year and many things that must be covered for the exam. So anything not tested is given a lower priority. This is both unfortunate and a reality. Trade offs have to be made.

            I think though that these concepts have to at least be raised and discussed though. Sooner or later most programmers write code that someone other than the programmer is going to use or a grader is going to evaluate for correctness. So we should talk to students about how messages should be clear, helpful and ideally polite. Right?

          Page 1 of 7 (20 items) 12345»