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

March, 2010

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    New Teaching & Learning Resources for XNA and Web


    Last week Microsoft put several curriculum modules on on the higher education part of the Faculty Connection. While aimed at the college/university space I think they may be useful for many high school people especially those working on independent studies involving XNA.

    curriculum mod

    What is a Curriculum Module?

    Resources developed by teaching faculty and aligned with US collegiate standards that provide a set of lectures and assignments for computer science courses.  The first is an introduction to programming with XNA Game Studio. On the screen shot below, the first two buttons provide a free overview to the content of the curriculum module.  The third button provides a download of  Prof. Kelvin Sung’s 683 page lab workbook for teaching CS1/CS2 using XNA.  This final button requires sign-in using a Windows Live ID. 

    HE XNA

    The second module is Programming Fundamentals from Java to C#. Have a CS1-level background in Java? These curriculum materials, developed by Professor Joe Hummel of Lake Forest College, build on your expertise in Java to introduce C#, .NET, and Visual Studio. The curriculum consists of 12 modules covering approximately 15 hours of core ACM requirements. Materials include PowerPoint slides, demo source code, and lab exercises suitable for students and faculty.

    In the case of these materials, the page launches an introductory video about the curriculum materials following by a 3 hour workshop delivered at the ACM SIGCSE conference.  The second button contains the actual lectures to be delivered in a Java class and requires a sign-in with a Windows Live ID.

    Pat Philips has a good article with Really good list of XNA Game teaching resources at

    Independent of the Faculty Connection resources, Microsoft is happy to announce the launch of .toolbox! .toolbox is a free online training program where designers and developers can learn to create Silverlight applications using Expression Studio and to apply basic UX concepts to their solutions.

    toolbox stuff

    I think the target audience is mostly professional developers but if you are teaching (or learning) web design you will want to check it out for sure!

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Windows Phone 7 Series Programming


    Programming phones seems to be the hot new thing these days. Yesterday Microsoft announced the availability of free programming tools for the new Windows Phone 7 Series of devices. Start with Visual Studio 2010 Express for Phone beta.

    Windows Phone Developer Tools includes:

    • Visual Studio 2010 Express for Windows Phone
    • Windows Phone Emulator
    • Silverlight for Windows Phone
    • XNA Game Studio 4.0 CTP

    I’ve got the complete set and am installing it today. With the Windows Phone Emulator I can get some code developed even before the phones themselves become available. I’m just trying to figure out want to create.

    Need some documentation? Charles Petzold's preview ebook Programming Windows  Phone 7 Series is now available online at

    How about Code Samples for Windows Phone? There are some of those as well. And don’t miss out on the Windows Phone 7 Series Developer Training Kit!

    And there is a special DreamSpark program for students!

    DreamSpark and Windows Marketplace for Mobile have joined together bringing more free offerings to students. As if free software wasn’t enough, Microsoft is expanding its DreamSpark program by enabling students to sell Windows Phone applications in the Windows Marketplace for Mobile.

    The DreamSpark program waives the $99 registration fee for the Windows Marketplace for Mobile to all verified students. Students now have the tools, services and platforms to get a head start on their careers.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Thoughts On AP CS Principles


    The Advanced Placement Computer Science exam is one of the smallest and least diverse members of the Advanced Placement suite of College Board exams. Very few minorities and very few female students take this exam. In some schools they fact that they dropped from two APCS exams to one hasn’t helped matters. This is not a desirable situation as far as many of us involved with computer science education would like (putting it mildly) and the College Board is not to happy with it either. So what they have down with some help from NSF (National Science Foundation) is to start work on a new additional APCS course. The course is going to be called Computer Science Principles and information is starting to come out about it. Last week they opened a new web site at

    The process has not been quite as transparent as some would have liked – me included but for the most part I have a lot of faith in the people working on it. (People working on AP CS Principles) I know many of them personally and more of them by reputation. There are a lot of really smart people with strong commitments to computer science education working on it. Still it is not to finally have more information on what they see this course looking like. And so far I like what I see.

    The course is based on principles or “big ideas.” (CS Principles: Big Ideas) Beki (CS Principles « Beki’s Blog (there’s an original name)) has a great discussion of these principles that I recommend. Rather than take each one on myself I want to talk about a couple of things that really excite me about a few of them. 

    Big idea 1 is Computing is a creative human activity that engenders innovation and promotes exploration. One sentence in the description is “Students in this course will create interesting and relevant artifacts with the tools and techniques of computing and computer science.” Interesting and relevant are interesting words. I think that course creators and instructors are going to have to be careful about how they define them. What is interesting and relevant to students are not always the same as what is interesting and relevant to teachers. If we want students to believe that they can be innovative and that they can explore the projects will have to focus on student ideas of interesting.

    Big idea 3 is “Data and information facilitate the creation of knowledge.” I’m pretty excited about seeing that on the list. I truly believe that helping to deal with large amounts of data is a key contribution that computer science is and will be making to science and industry alike. My hope is that instructors get some good sized data sets to set students loose on.

    The look at data directly relates to big idea 7 “Computing enables innovation in other fields including science, social science, humanities, arts, medicine, engineering, and business.” The description says in part “Students in this course will become familiar with the many ways in which computing enables innovation in other fields.” I really believe that students need to see computer science not in isolation but as a part of many other fields. The future is “computer science and …” where the “and” can include just about anything a student may be interested in.

    It looks like this course will be programming language independent. I am ready to stand up and cheer that fact. There are five pilot runs of the course planned for this fall (Pilot testing the new AP CS definition a post by Mark Guzdial) and it looks like Alice, Python, Scratch and Scratch BYOB at least will be used in those pilots. I don’t think we know what the fifth course will use. My person hope is that people will look at Small Basic as a possibility. And maybe Visual Basic or for the people who just must use a curly brace and semi-colon language C#. I think that many people are comfortable with using those languages for beginners. They offer a chance to create real Windows programs and many students find that to be motivating.

    For Small Basic  I see the language and IDE simplicity as being advantages. I also think that Intellisense (which of course VB and C# also have) as something that really encourages exploration which is a key part of big idea 1. While I love Scratch and Alice (and Scratch BYOB looks pretty exciting) I do worry about the transition from those simple languages to more complicated languages later on. We’ll see how this goes and hopefully people will be gathering real data and study along the way though the pilots.

    The plan as I understand it is for there to be five university pilots this coming fall. The next fall there will be 10 university pilots and between 5 and 10 high school pilots. At SIGCSE there seemed to be some interest in unofficial pilots as well. We’ll have to wait for still more details on the course before anyone can really design these courses though. Apparently there is a 70 page book with details. Of course as with many things the “devil is in the details.” I’m sure there are a lot of us waiting the release of that detailed description.

    One of my teacher friends is very concerned about how this course will be tested. That’s a valid concern since the results of the test will determine if students receive college credit or placement. The language independence is a two edged sward here. One of the main complaints about the existing AP CS A exam is that it is really “AP Java” and focused more on the language than on computer science concepts. It’s an easy trap to fall into. So language independence make that virtually impossible. On the other hand language independence makes some things easier to test. You can not ask people to write code to be graded without having graders who have a deep knowledge of all of the possible languages that students may use. I don’t see that as practical at all. So we’ll have to have questions that ask students to describe activities. I guess. Let’s say that I’m glad I don’t have to write this exam. This is one of the larger details that has to be worked out. Well maybe too large to be called just a detail. :-)

Page 4 of 8 (22 items) «23456»