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 15 November 2010


    I got a new Xbox 360 with a Kinect device last week. I spent much of a day “testing” it out and some evenings playing it with my wife. Kinect Adventures can be a real workout. So can Dance Central. I wonder how long before we see Kinect devices in schools and senior centers and after school programs getting people up and moving. It was fun for sure. It’s really pretty amazing at how well it works. (I posted some links to how Kinect works last week BTW) Now that doesn’t mean I was goofing off all week. No sir. I have a good collection of links to share and some good posts coming up through this week as well. I may do a follow up on the idea of gaming in the classroom but for now, Garth explains the motivation behind his programming students creating games in class -my curriculum is going gaming He makes a lot of sense and I recommend the post.

    Here now the list grouped by topic because there are so many of them.

    Microsoft Office Resource Links

    Windows Phone 7 Development Links

    Imagine Cup Links

    Kinect and Xbox Links

    Especially for School IT and Tech Support People

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Teaching real-world programming


    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.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Student Access to the AppHub for Windows Phone 7


    One of the many benefits of the DreamSpark program, besides all of the free software, is access to the AppHub for submitting Windows Phone 7 applications for sale for free. Businesses and other individuals have to pay to join the App Hub and submit apps to the system. The process for getting started can be a little confusing though. In this post I will try to explain it in language a reasonable human being can understand. In other words, the directions I myself would like to read.

    Note that college/university students sign up through DreamSpark on their own while high school students get access through their schools. The extra step is so that Microsoft doesn't find themselves in the tricky business of validating who is and is not a high school student and gathering a lot of personally identifying information on minors. In short the extra step is for everyone's best interested. My friend Gautam Reddy has a wonderful blog post that explains the step by step of signing a high school up for DreamSpark BTW.

    The first step is to get a DreamSpark account. You’ll need a free Windows Live id for that but the DreamSpark site will help you though that simple process. If you already have a DreamSpark account, sign in and let’s get started.

    1. First register for AppHub through DreamSpark.
      • Under the Download Software link on the DreamSpark home page find the Windows Phone link and select it.
      • Once there select the Register for the App Hub link. (You may want to download the development software while you are there as well.) 
      • Select Student as your account type on the App Hub registration page and enter your contact information
    2. You will get an email to verify your registration. Make sure you use a valid email address that you check. You may want to check to see that this email doesn’t get filtered to your SPAM folder – It happens sometimes.
    3. Now you can submit an app but you are not done yet (sorry) After you submit the first time you will receive an email from a company called GeoTrust. The final verification process is a it of necessary seriousness that neither you  or Microsoft really wants or needs to go through until you actually have an app to submit.
    4. After GeoTrust has verified your identity, you will receive a second email from GeoTrust that asks you to send an signed copy of an ID.  It’s all about making sure people are identified so that they can receive payment  for and take responsibility for their work. This second email can take up to 2-3 days
    5. After you send in the Signed Copy of your ID GeoTrust sends Microsoft the identification information, this can also take up to 2-3 days. At least you only have to do this once.
    6. Once the Signed Copy of the your ID is received the certification process for your application starts.
      • Please note: it can take a maximum of 5 business days to complete the certification
    7. If your application doesn’t meet the certification requirements, the application is rejected. You will be told what requirements are not being met so that you can fix them and submit the app again with the fixes (and you are back to step 6). 
    8. When the certification process ends and certification is successful it takes about 5/6 hours for the app to be placed up in the marketplace.

    Once your app is in the marketplace you’ll want to promote it to friends and potential customers. Make sure that you have a good explanation of the app and its value to others. Good luck!

Page 2 of 7 (19 items) 12345»