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

November, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Interesting Links 8 November 2010

    • 0 Comments

    Well we are really and truly into November now. Over the weekend we went back to Eastern Standard time in New Hampshire. The best thing about that is that for a little while it is easier for me to get up earlier. Does the same effect work with students? Not sure. I have a bunch of links for teachers of any area at the end of the post but first I’ve got a couple of “weeks” to talk about. We’re less than a month away from Computer Science Education week! What are you doing for it? If you are on twitter than besides looking through the ideas at http://www.csedweek.org/  you can also follow @CSEdWeek for news.

    The second week I want to bring to your attention is National Robotics Week. Do you have students who are more interested in moving atoms than pixels? Well robotics may just be the hook to get them interested in computer science as well as all sorts of engineering disciplines. The second annual National Robotics Week will be April 9-17, 2011. Follow @roboweek on Twitter as another way to keep up with the news.

    Speaking of getting students interested, Myra Deister of the Computer Science Teachers Association has a post on their blog about Recruiting students for Computer Science classes and asks “what do you do?” You  can follow CSTA on Twitter at @csteachersa BTW.

    Not unrelated is this fun video: CS Is My Life on the Comp Science Woman blog. It’s great fun and the young woman who sings it is not your stereotypical weird geeky looking person either. You can also follow the people behind the Computer Science Woman blog on twitter at @compsciwoman

    Speaking of videos - Can your students tell a story through video? You don’t need to be a developer to participate in the Imagine Cup Digital Media competition and there are a bunch of resources available to help get started here

    If you are interested in how a competition like the Imagine Cup can be used in curriculum this article  about  Prof Ming Chow at Tufts University who teaches a game development course based on XNA and has students enter the Imagine Cup may be of interest – Academic Spotlight: Tufts University.

    Now for some general education related links so there is something for everyone.



  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Three New Chances to Get Involved in the Imagine Cup

    • 0 Comments

    I talked about these new Imagine Cup events briefly on my links post on Monday but I wanted to pull them out and highlight them on their own today. The following is from the latest Imagine Cup Insider email that goes to people signed up to compete. There are many ways to compete in the Imagine Cup. These are great opportunities for students to really show what they know and what they can do.

    ----------------------------------------------------------------------------------------------

    Not an Imagine Cup competitor yet? Take a look at these 3 new chances to learn new skills, meet new friends and quite possibly change the world. Plus you can win cash, prizes or a trip to the Worldwide Finals in New York!

    We have added 1 more exciting competition to the line-up – Windows Phone 7.
    It’s all about originality, appeal and being unique. Be one of the first developers – ever – to build a XAP Application for the revolutionary Windows Phone 7 platform. Create an XAP Application the world cannot wait to get their hands on. Your Team’s XAP Application needs to scream originality, have major consumer XAP appeal and integrate unique mobile-oriented features. So… what are you waiting for? Develop a Windows Phone 7 application that people will love having on their phone today!
    For the complete rules and regulations visit the Windows Phone 7 competition and while you’re at it sign up and start competing today!
    Already signed up for a competition but you still want to do more to help solve the worlds’ toughest problems? Sign up to compete in a Challenge. Challenges are cool because they offer two different ways to compete - either incorporate the Challenge requirements into your current Imagine Cup project or build the Challenge solution from scratch.

    Interoperability Challenge - Think outside-of-the box.
    Are you ready to take on this Challenge? It’s about building technical bridges and blending out-of-the-box Microsoft technologies with other technologies to create applications that connect people, data and diverse systems in new ways. Use it all, including free and open source software. Bring it all together in one groundbreaking application.
    Don’t be the last one of your friends to sign up for this Challenge! For the complete rules and regulations visit the Interoperability Challenge.

    Orchard Challenge - Grow your developer skills.
    Change the world, one website at a time. Innovate and be the first to define an indispensible module that everyone needs! Orchard is an up-and-coming open source CMS platform based on ASP.NET MVC that is designed from the ground up to support modular extensibility.
    A module can add new features to an Orchard-based website – for example, a shopping cart and checkout system, a media gallery, maps/geolocation, or social interactivity. Orchard users will be able to easily discover and download your extension in the online gallery and incorporate it into their own sites. Not only will you be the first to use this new CMS platform, you might just see your module used on websites around the world!
    Pick your smartest friends and start competing today. For the complete rules and regulations visit the Orchard Challenge.

    Get Connected!

    • Join the Imagine Cup 2011 Facebook community.
    • Follow the Imagine Cup on Twitter.
    • Read up-to-date news on the Imagine Cup blog.
    • Watch the newest videos on the Imagine Cup YouTube channel.
    Check out the Imagine Cup photo gallery and video gallery.


  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Teaching real-world programming

    • 2 Comments

    The title of this post is borrowed from an article at the MIT (original article at Teaching real-world programming) about a programming course at MIT that uses professional software developers to help mentor students. The professionals perform what amounts to a code review of student code. The review is not part of the grading process but part of the learning experience. I love this idea. For me learning rather than grading is what a good educational experience should be all about.

    The professionals volunteer and since the Cambridge.Boston area is a hub of hi tech companies and working with MIT is a high prestige sort of thing they don’t lack for volunteers. So this program might not work everywhere. But I wonder if it could be tried on smaller scales at least at other places – including in high schools. I can see it being very helpful. The article highlights a couple of things I learned while I was teaching. I hear similar things from other teachers. For example:

    Harried professors and teaching assistants can look over the students’ code and flag a few common and obvious errors, but they rarely have the time coach the students on writing clear and concise code.

    Students often don’t care how clear or concise their code it. They are just in a hurry to get things done and in for a grade. Learning to take their code to the next level (clear and concise) takes a bit more work. Friends of mine have talked about coding apprenticeships which beginners learn by working side by side with “master programmers.” This is often what happens when people leave school and take their first software development job. It would be nice if they could get some of that in school though.

    Also programming is really more like a craft or even an art than a true engineering science. I know that is a matter of contention but while I would like it to be real engineering I don’t think we are quite there yet. And so programmers need to developer a style. As it says in the article:

    In many computer-science classes, Amarasinghe says, professors trying to preserve intelligibility will insist on a particular style of coding, which may not be natural for some students and, he says, can actually lead to bad code. “The way we look at programming, it’s like writing an English paper,” he says. “If you are in English class, there’s no set way of writing.” What’s important is that a programmer’s style be consistent, not that it slavishly ape some model.

    A mentoring process with an experienced professional can help students develop that style while also developing a clarity of thought and of coding that will serve them well.

    How might this work in a high school? There are probably several ways but I wonder if a small number of volunteers could dedicate a day where they code review individual or small team projects. Perhaps in the middle of the semester or near the semester break of a year long course. Ideally the project would be reasonably complex – not too long but long enough for personality and habits to be visible. The reviewers would get advanced copies of the code and so come with questions. I see this working better by starting with questions “Why did you do this?” “What does this do?” “What other ways did you consider?” and on and on. Spend an hour or so going line by line perhaps. Seems like it might be useful.

    I’ve quickly reviewed student code on visits to schools in the past BTW. Generally I only have time to scan the code and ask a few questions. What is amazing is how often I ask or tell the students things they have heard from their teacher. Students are surprised when this happens though of course they shouldn’t be. I like to think that these outside comments help build teacher credibility as well as reinforcing learning. Doing this on a larger more formal set up seems like a valuable effort.

    The hard part I admit will be finding the volunteers though. One place to start? Find out if there is a local chapter of the ACM or the IEEE Computer Society. People who are active in these groups tend to be the people who are interested in developing the next generation. Also industry advisory board for career technical schools or even community colleges. They are out there.



Page 6 of 7 (19 items) «34567