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

June, 2009

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links June 15 2009


    A real mix of things this week. Hopefully there is something useful and/or interesting for you. In my own blog the post I write Saturday night (Real Life Is An Open Book Test) seems to have gotten more traffic that anything I’ve posted recently. If you haven’t seen it please take a look, read the comments people have left and join the conversation.

    From danah boyd (@zephoria) I found out about this disappointing bit of misogyny at Flashbelt. This is the sort of thing that makes the computer field unattractive and unwelcoming to women. It’s very sad that this sort of thing goes on. This post has some explicit language and descriptions that may not be appropriate for young people. It does give us all something to think long and hard about when we think about presentations, conferences and professionalism.

    Mark Guzdial (@guzdial) Linked to this column in the Economist that echoes Gladwell's "Outliers": American school kids work the least in developed world. I’m reminded that when one school I was at wanted to increase the length of the school day people objected because it would interfere with sports. Well I guess we know what their priorities are.

    On the humorous side @BarbInNebraska Linked to a funny article in the Onion: 2nd grade teacher overhyping 3rd grade. It does give one pause for thought as to how we present future courses, grade levels and teachers to our students.

    I had a short exchange with Liz Lawley (@lizlawley) who was Tweeting from a conference. I asked her “how do you get teens to not be sullen?” and she replied “Give them engaging and compelling experiences. have them teach as well as learn.” I think that is great advice. I think she hits the nail right on the head. Teens are not sullen when they are engaged and when the work given to them makes sense. I also love the idea of having students teach because this causes them to learn more and deeper. It also helps get through to other students as they know how to present things in ways that relate to their peers.

    That is the sort of short Twitter conversation that really helps me learn quite a bit in the course of an average week.

    Clint Rutkas (@ClintRutkas) follows a bunch of different people from me and this means he often finds and Tweets links I would not otherwise see. In this case he linked to a post from Jeff Atwood (@codinghorror ) called how to motivate programmers. It’s somewhat tongue in cheek but it highlights how possessive many programmers are about their code. If you tell them you are going to “fix it” they will often take a serious look at it and try to better what you can do. This is  a post that I think leads to some discussions about peer review, egoless programming, and pair or team programming.

    The @Microsoft_EDU account linked to a series of Educator Workshops specifically for teachers in VA, MA, IL, TX & WA tto present new ways to integrate technology into curriculum.

    Luis Von Ahn from Carnegie Mellon was behind the creation of captcha and recaptcha. In this talk he talks about how they are using recapctha  get people to do useful work for free. Specifically how they are using this method to make sure that optical character recognition gives reliable results for digitizing books.

    Angela Maiers (@AngelaMaiers) Linked to a collaborative photo encyclopedia. Fotopedia which she thinks would be good for visual literacy projects.

    Do you work with a public library? The Gates Foundation (@gatesfoundation) has opened applications for the  Access to Learning Award which recognizes innovation in public libraries. You can apply now for the 2010 award.

    Channel 9 (@ch9) has a new show called The Coding4Fun Show The first episode is about the Physics Helper for Silverlight by Andy Beaulieu. Looks like a fun application that may have learning opportunities.

    Speaking of Channel 9, they continue their great series - The History of Microsoft with 1992


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Real Life Is An Open Book Test


    The other day a regular reader of this blog (thanks Avi Burstein) sent me a link to an article titled Academic source code dust-up symptom of CS education ills. The short version is that a college student posted the source code from a school project to the Internet and his professor objected strongly. The professor was concerned that future students would be able to find the code on the Internet and turn it in as their own. The student believes that his right of expression allows him to post his work. Eventually an academic judicial affairs office sided with the student. Kyle Brady the student involved tells his version of the story on his blog.  I don’t expect this to be the last of this sort of conflict though. And that is a shame.

    I’ve been programming for school, for fun and to make my living for about 37 years know. And while I have learned a great deal from course work and from “book learning” I have learned even more from reading the code other people have written. In fact many textbooks include sample code. Certainly the books I have written have included sample code. But professional developers spend a lot of time reading other people’s code. Formally, informally and in any way you can imagine. They also look to reuse code. And they keep documentation around. Even today when much of what one wants to learn professional software developers often have shelves filled with books. Believe it or not they actually reference them too!

    I don’t remember when I first heard someone say “real life is an open book test” but it really stopped me on my feet one day. It also influenced me as a teacher. While I often expected students to memorize some things and gave my share of closed book tests and quizzes I always expected students to take advantage of external resources for projects. That included the textbooks of course and the help files and programming language documentation. It also includes asking for help – though one does have to be careful about explaining the difference between getting help and getting someone else to do the work. And yes, even looking things up on the Internet. That’s how professionals work.

    There are people, often great educators whom I respect, that want to put more limits on students. For example they want to avoid things like Intellisense (IDE features that show programmers options for function/method calls and parameters) because if means they don’t have to memorize as many of those things. I disagree because I see greater value in the experimentation and “accidental learning” that provides. But that is ok I think.

    Stealing (or borrowing) code from the Internet is a real and justifiable concern for many people teaching computer science (well programming anyway). I would argue that faculty should know their students programming styles well enough to spot clear cheating just as English teachers can pick it up in student essays. Sure that is not very practical in sections of 300 but I don’t approve of sections that are too large for the instructor to know their students. (So there :-P ) IF you are going to have sections of 300 you are begging for cheating to occur so you should not whine when it happens. That doesn’t mean I approve of cheating – I don’t. But you already heard me write disapprovingly of overly large sections and cheating is one reason for that.

    One thing I used to do with semester end projects was to have one on one mini-code reviews with each student. They would do a demo and I would test a few things. Then we would talk about the code. I came prepared and if there was code that seemed to advanced for the student or too different from their normal work I asked them to explain it. If a student can explain code in a way that makes it clear to me that they know how it works, can debug it, can modify it and can make it fit their particular application why should I care if they wrote it from a blank slate or took some ideas and code snippets from someone else? It would be like penalizing a student in shop class because they borrowed a saw.

    School is about learning. It is not teaching students to work with one hand tied behind their back. It is about helping to understand what they read (or find on the Internet) not making them reinvent the wheel. I’ve blogged  before that I think it is important to have computer science students read more code. IF they find student code on the Internet and learn something from that I think that is great. I suspect they’ll learn how not to do things more often that how to do things but that is valuable learning too. In the mean time there are a great many code samples on the Internet. Microsoft posts lots of code that answers the question “How do I?” (some links below) There are many other sites that do the same thing. Students will find sample code. But they will learn for it and that is what we’re all after isn’t it?


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Gadgets – Using and Creating


    I’ve been playing with gadgets. Mostly I have been adding little gadgets to my blog (scroll down and look at the left sidebar to see them). Most recently I added a TechNet Widget

    Download the new TechNet Widget and you’ll be “in the know” real-time about the latest from Microsoft TechNet -  breaking news, videos, webcasts, podcasts and TechNet Magazine highlights.

    It’s designed for IT professionals but I know that a lot of educators, tech coordinators, school/district tech support people and CIOs are all really IT professionals so I thought some people may be interested in keeping an eye what is going on with TechNet. Plus it is an excuse to talk about gadgets and widgets and what not.

    I found several articles and web sites with information on how to create Vista gadgets and web gadgets that I thought I would share:

    Windows Live Gallery Developer page - Learn how to build, publish, and manage items for Windows Live Gallery with the following helpful resources.

    Create a Vista Gadget Using Visual Studio IDE

    Take a look. This may make an interesting project at some point.

Page 5 of 8 (22 items) «34567»