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

August, 2011

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Web-Based Problem Solving Software for Programming Courses


    We all know that students  benefit for problem solving exercises. Creating these sorts of problems can be difficult and time consuming. Evaluating them and help students with then can be even worse. There are a couple of online sites that can help here. I’m going to highlight several of them here – Pex4Fun (from Microsoft), Problets (from Amruth N. Kumar at Ramapo College of New Jersey) and Try F# (from Microsoft). I think these can be very useful in support of students learning programming either as part of a course or on their own. Pex 4 Fun supports Visual Basic, C# and F# programming. Problets are available for several C-family languages including C# and Java. Try F# is, surprise, all about F#. They are all worth checking out though. And they can be fun as well as educational.

    Pex 4 Fun

    PexWeb2What is it? Pex for fun brings programming in C#, Visual Basic, and F# to your web browser. If you have never visited Pex for fun before, we suggest you follow the tutorials in the Learn area.

    Is it just for fun? The full version of Pex and Code Contracts integrates into Visual Studio, and can be launched from the command line as well. (Download, Documentation) Pex can explore an entire project at once and can automatically generate a comprehensive test suite of traditional unit tests.

    Who created Pex for fun? Pex for fun was brought to you by the Pex Team, part of the Research in Software Engineering (RiSE) group at Microsoft Research.

    I have more questions. You can discuss Pex for fun on our MSDN Forums for Pex, where you can also post your Permalinks to share them with other people.

    I want to provide feedback. If you have found a bug, you can send a bug report directly to the Pex developers at You can also get in touch with the Pex developers for any other reason at

    Can I take any code in the browser and turn it into a puzzle? If your browser supports it, you can Install the Pex For Fun Accelerator.


    (This is taken in edited from from a recent email to the SIGCSE mailing list)

    Problets are web-based software tutors for programming topics. They provide problem-solving practice on expression evaluation (arithmetic, relational, logical, assignment), if, if-else, switch, while, for, and break/continue statements, arrays and functions (behavior of functions, debugging functions) in C/C++/Java/C#. They are free for educational use.

    The unique features of problets that make them effective are:

    • They explain the step-by-step evaluation/execution of the correct solution;
    • They adapt to the learning needs of the student.

    You can find out more about problets at: This site contains information about solving problems with problets, how problets can be used in a course, sample problets, and student testimonials.

    Try F# Tutorials

    F# is a functional language so it is a different programming paradigm from what most of us learned or have taught before. It is however a very valuable paradigm to know and use. For teachers who want to offer their students a comfortable way to learn F# this is the site to use. The tutorials on this web site are designed to give you an easy way to teach programming using F#. The benefit of using online tutorials is that students don't need to install any complex software package and can easily access tutorials from any machine. The Teaching F# page contains some additional useful links to existing course materials on F# as well as articles and presentations that may serve as additional inspiration for the classroom.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Time To Cut The Cake


    LegoLogoI ran across a couple of cool Lego links yesterday. One of was this link to Robots for Everyone: Getting Kids Interested in Programming with Legos which talks about how educators are using Lego Mindstorms and other kits to get students interested in STEM fields and especially programming. Lego is a pretty cool set of products. THe second link was this Lego machine that cuts cake via Make Magazine.

    Now that is great but I don’t have a whole Lego NXT set nor am I particularly mechanical. But I thought I could do some of the math. Right? Why not? So I wrote some code in Small basic to cut circles into even sections. The images below are 7 sections, 70 sections, and 150 sections. This ran a lot faster than cutting that cake in the video did but I doubt it was as much fun as eating the cut cake was.











    There are a couple of things that make this a good project. First are the programming concepts – loops and arrays are prominent in the solution I adopted. Then there is the graphic piece which allows the creation of visually interesting results. Lastly, but far from unimportant, is the incorporation of math in the process. Degrees and Radians, coordinate geometry,  and of course some basic algebra for the calculations of things. Some discussion of Sine and Cosine while are both used for calculating the points also comes into play. There is also the basics of geometry in the form of the circle that is “cut” because things like understanding the center, points on the circle and the radius are valuable in the understanding of the solution.

    One could do all this with pencil and paper using triangles, compasses, and other drawing tools of course. A lot of us did back in the day. While there may be some value in that I think that using the computer to show us lots of different patterns is also valuable in its own right. I think students who write a program like this understand the concepts just as well, perhaps even better, that those who do it the old fashioned way. Not that I have data to support that theory. But one other advantage is that now they have some code they can use, adapt, modify and incorperate into other projects later on. In a sense they are building a tool as well as learning a concept. That has to be a good thing.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Windows Phone Development Training Online


    SO you probably know that a new version of the Windows Phone software is coming very soon. If you are planning on teaching phone development you may also be thinking “I wonder how I can get some training on this?” Well you are in luck. Online training is coming!

    “Mango” Jump Start! Aug. 23-24! Pass it on…

    That's right, Microsoft MVPs Rob Miles and Andy Wigley are back! Microsoft Learning hosted a Windows Phone 7 Jump Start (plus an update course) last year and it was an absolute smash. Mobile application developers raved about the fast-paced, demo-rich approach, the timeliness of real-world content on new technology, as well as the engaging and often-times humorous delivery. Now that "Mango" has made such a huge splash, they have put together another great course.

    This two-day live virtual class, Building Applications for Windows Phone Mango Jump Start, is specially tailored for developers looking to build cool applications and games for the new Windows Phone Mango Platform.

    Dates: August 23-24, 2011
    Time: 8:00am – 4:00pm PST
    Duration: 8 hours/day, including hour lunch break
    Registration Link:

    Mango is an important leap forward in Microsoft’s overall mobile strategy and the developer community has taken notice. Now is the time to embrace the “tile-and-app” UI and reap the rewards Mango provides your development team and user community. Here's an overview of what Rob and Andy will cover:

    Day OneAugust 23, 2011 | 8am-5pm PDT | Live online training
    • Building Windows Phone Apps with Visual Studio 2010
    • Silverlight on Windows Phone – Introduction
    • Silverlight on Windows Phone – Advanced
    • Using Expression to Build Windows Phone Interfaces
    • Windows Phone Fast Application Switching
    • Windows Phone Multi-tasking & Background Tasks
    • Using Windows Phone Resources (Bing Maps, Camera, etc.)

    Day Two August 24, 2011 | 8am-5pm PDT | Live online training
    • Application Data Storage on Windows Phone
    • Using Networks with Windows Phone
    • Windows Azure and Windows Phone
    • Notifications on Windows Phone
    • XNA for Windows Phone
    • Selling a Windows Phone Application

Page 4 of 8 (24 items) «23456»