Wednesday, April 30, 2008

Best Practices: Designing Mobile Applications

These days mobile devices are everywhere. One of the cool things about Windows Mobile devices (Smartphones and Pocket PCs among others) is that they can be programmed fairly easily using Visual Studio. Built in simulators allow for quick debugging without the need for an actual physical device. The big difference between programming for a mobile device and a standard PC though may just be the user interface design.  The screen size is one obviously piece of that but there is also the differences in input – small keyboards, styluses, and no mice.

Recently Hilary Pike presented on the subject of mobile application design and then wrote about it on her blog. She posted her slide deck as well. I learned a lot from the blog post and associated deck.

I know a number of teachers who have their students create mobile applications after the AP CS exam (coming up on May 6th this year I think) for something different. This deck and blog post may be very useful if you are one of those. Or honestly for anyone thinking about creating their own mobile applications.

Oh and before I forget, Hilary also posted a bunch of links to sample Mobile applications here.

Monday, April 21, 2008

XNA Links for Teachers (and other learners)

Note that since I wrote this there have been some changes. See this post for more information -http://blog.acthompson.net/2013/02/xna-is-dead-or-will-be-soon.html

I’ve been hearing from a lot of high school computer science teachers that they are looking for some fun and educational things to do with their AP CS students once the exam is over. For some of these teachers some XNA looks promising. For those people and more I decided to put this collection of resources together in one place. I’m open to adding more if people leave me comments or send me email. What works for you to get jump started with XNA and game development?
Official XNA Sites
Books
Projects – By and For Educators
Very Silly Games
Very Silly Games is a "Library of Gameplay silliness" from which you can pull down fully working XNA games you can play instantly on your computer or, once you have joined the XNA Creators Club, on your Xbox 360.
XNA Game-Themed Assignments
Kelvin Sung from the University of Washington at Bothell has a project that is building XNA Game-Themed assignments for use in computer science classes.
The project home page is here.
The Release Guide with a lot of information and links is here.
Video Demos
GuitarMatey
GuitarMatey is a 3D game for the Xbox that allows you to improvise guitar music with the accompaniment of a backing track. Five pirates dance for you as you play the game. While GuitarMatey lacks a real objective or purpose, it is perfect to help you learn about developing 3D games for free using XNA and our partner tools. 
Full details and links to the videos may be found here.
When Cods Collide
Betsy Aoki has created a simple 2D game in XNA that involves collision detection. It looks like a useful series and it is a fun read. So here are the links:
· Making a 2D XNA Game - When Cods Collide - Part 1
· Making a 2D XNA Game - When Cods Collide - Part 2
· Making a 2D XNA Game - When Cods Collide - The Final Chapter
Modify an existing game in 10 minutes
Hilary Pike has created a short quick moving demo/screen cast on modifying an existing 2-dimensional XNA based video game. In just 10 minutes she walks the viewer through some key gaming concepts and then adds Collision Detection and Score Keeping to the game.
XNA Pong Game
Dan Waters has created a Pong game as a tutorial for beginners. This might be a piece of code a bright student might enjoy improving on themselves.
Other Sets of Links From Teachers
Brian Scarbeau’s XNA Class links - http://sws.lhps.org/XNAforstudents/tabid/347/Default.aspx
Patrick Coxall’s collection of videos - http://www.ottawacatholicschools.ca/teh/content.php?doc=3697
[Note: Cross posted from http://blogs.msdn.com/alfredth/archive/2008/04/22/xna-links-for-teachers-and-other-learners.aspx ]

Wednesday, April 16, 2008

Digital Dorm - In A Bus?

Edwin Guarin is driving a bus fitted out as a high tech, lots of games and devices, digital dorm room to campuses around the NorthEast.  He's writing about the trip on his blog.  He's showing of computers, Zunes, Xbox 360 (apparently Rock Band is popular on the tour so far) and giving away gifts and prizes. Its a fun way to get a look at some cool technology.

The full schedule is here. Stops this week include:

  • Hofstra University
  • NorthEastern University
  • UMASS Boston
  • Bunker Hill Community College

Next week

  • Bentley College
  • Harvard
  • Boston University

Still more following that - check the schedule for schools, dates and times as some of the locations are yet to be determined. If he comes to you campus or to a campus near you stop by and tell Edwin I sent you.

Tuesday, April 08, 2008

Getting A Job - The Blizzard Edition

This week Clint posted his interview with John Cash from Blizzard Entertainment over at Channel 8. The "money line" in the interview is something like "you know that math you think you'll never need? Well you're going to need it." John keeps his college physics and calculus textbooks at his desk and uses them regularly.

John also talks about how when they interview people they look for people who go beyond on their own and actually finish things. Apparently lots of people start developing their own games but few actually finish. They are looking for people who can finish. Imagine that!

Sunday, April 06, 2008

Is There A Future For High School Computer Science?

OK that is a fairly provocative title. But I think it is actually a fair and reasonable question. The decision last week to drop one of the Advanced Placement Computer Science exams (which I discussed here) has brought a whole new level of discussion about computer science education in general and high school computer science education in particular. Now clearly I believe that it is important that these is a future for high school computer science but doing the right thing is not necessarily a part of the educational process.

So what has the discussion been looking like? If you follow your news in the main stream media or just on blogs you probably haven't heard much of the discussion. So far it appears that the discussion has been taking place on mailing lists. Not exclusively of course. The one news story I have seen so far was this one in the Washington Post.

Cay Horstmann has a blog post titled Is Computer Science the New Latin? That post shows the enrollment numbers for the last several years in the AP CS exams. Cay also has some suggestions for what people in industry can do to help promote computer science as a field. I'm going to have some more suggestions about that in the coming days. Industry really does have to help if we don't want to see the shortage of qualified people drop still more.

Dave Warlick has a post that starts off being about the four exams that are being dropped but ends with discussion of the AP CS AB exam and related issues. He makes a couple of good points including "I remain convinced that the problem has much more to do with how we teach computer science than the tests we give at the end." This is a concern that is being expressed by more and more CS education professionals as well.

Tom Finin has some numbers about the overall drop in computer science enrollment in his post. You'll see those numbers a lot if you dig into the problem. Tom points out a common belief (which I share) that "Eliminating the computer science AP test will discourage high schools from offering computer science courses and their students from taking them." If this day of No Child Left Behind all electives are under serious strain. At many schools the only reason computer science survives is the allure and prestige of that AP designation. Now one AP exam remains but as I pointed out the other day changes are in store. Will all schools be able to keep up? I have my doubts.

The discussion in the mailing lists has been different in interesting ways between how high school teachers and college/university faculty are reacting to the news.

The high school people are responding primarily to the loss of the test and what he means to enrollment and to the value of the test. Many people believe that the AB exam, which has been cut, is the one that should remain because it is the more valuable course. Others are discussing the possible changes to the one remaining exam and if or how much like the current AB exam it will become. All good questions/issues. This has very definite short term consequences for high school CS people.

The higher ed people are using this largely as a discussion of larger issues - dealing with declining enrollment, how do we teach computer science, what should the CS1 & CS2 courses look like, and other important pedagogical issues. Frankly I think these are wonderful discussions to have and I'm very glad they are going on. It doesn't help the high school situation much in the short term though. Still I am learning a lot from it.

I've been thinking about what I think the AP CS exam should become BTW but I'll wait for another post to lay that out. In the mean time I see losing one of the two APCS exams as a huge blow to the prestige of CS education. I can see that in the long term a single exam/course may be a good thing as long as it is the right curriculum. I also believe that for it to be successful on any level there has to be a clear and strongly recommended prerequisite course. Sure college students can jump right into CS 1 but a) in practice that doesn't work as well as people like the think and b) high school kids are not college kids. They need a head start. I don't believe that many high school students can really handle a year long college course in a high school year. (If nothing else there are not as many study hours per course in high school.)

In the near term this change is going to effect how administrators view CS's importance relative to other areas. The same is true for students and their parents. Plus of course many students will just take one course when they would otherwise have taken two. I just wish higher education, though their admissions officers, would express some sort of preference for a real computer science course on transcripts for students applying to science, technology, engineering and math programs. That would help more than almost anything else I can think of.

Wednesday, March 26, 2008

Students 2 Business - Its About the Jobs

Students 2 Business (S2B for short) is

"a Microsoft® Community Initiative designed to connect Microsoft partners and customers with qualified students for entry-level and internship positions.

The objective of the S2B program is to inspire local businesses to communicate the competency requirements for new talent, to evaluate the skills of students ready for an entry-level job or internship and collaborate with Microsoft and local education institutions to provide the curriculum and training needed to ensure students are prepared to meet the innovation needs of company’s around the globe.

Students engaged in S2B benefit from unique mentoring, training and certification opportunities. Various offerings are available to students at each stage of S2B – when profiling, in application and after job their connection."

The US site is here. The world-wide site (there are some 28 countries involved at this point) is here.  The world-wide site will help you connect to the right country site. There are links there for students looking for jobs, industry people looking to hire and university people who want to help their students get jobs. Check it out. You know, this would also be an interesting site to look at if you want to plan ahead and know what companies are looking for down the road.

Cross posted from Alfred Thompson's High School Computer Science blog

Friday, March 07, 2008

Ex-Apple Guy Interviews Steve Ballmer

I never thought I'd see Guy Kawasaki at a Microsoft event but it happened. Earlier this week Guy Kawasaki interviewed Steve Ballmer at the MIX08 event. It's a very interesting interview and at times very funny. Usually events like this have someone tossing "softball" questions but Guy really doesn't pull any punches.

I enjoyed the back and forth over the new light Apple laptop. I found it interesting that Guy uses the same cell phone (a Motorola Q) that I do because he depends on the connection with Exchange for email. Windows Mobile is pretty good really. Apparently Kawasaki does some work with Microsoft and he actually has nice things to say about the changes he has seen in the company.

I haven't finished watching it yet but so far it is one of the most interesting interviews with Ballmer that I have seen.

[BTW please visit my main CS Education blog at http://blogs.msdn.com/alfredth ]

Thursday, February 21, 2008

XNA - Games for the Zune

Well there are always questions about an handheld game device from Microsoft. Well this isn't it. But what the XNA team did announce today is that XNA Game Studio 3.0 will support creating games for the Zune. And yes there will be multi-player games using the Zune's built in networking. Now that should be interesting. The announcement on the XNA blog is here. There is also a FAQ on the Creators Club web forum. Read the FAQ here. One thing of note is that your games will have access to non-DRM music on your Zune as well. That should make for some interesting mash up games.

But there is more. What about people being able to distribute or even sell their home grown games though Xbox LIVE Marketplace? Yep, that is coming as well. The announcement on the XNA blog is here with an FAQ here. Looks like some sample community games are available now and "will be playable for a very limited time." Get them while they are free people!

Personally I'm pretty psyched about the Zune games. I got a Zune for Christmas and some casual games to play on it interests me quite a bit. I like the idea of students having to learn how to deal with limited screens and limited memory as well. Nasty of me isn't it?

Tuesday, February 19, 2008

DreamSpark - Microsoft Gives Software to Students for Academic Use

OK so it is already all over the blogosphere that  Bill Gates announced a new program called DreamSpark to give software to students. (The official press release is here BTW) So I'm kind of late to the party already. Channel 8 is going to be a key source for developing news on this project so you may want to keep looking over there.

In fact to kick it off there is an interview with Bill Gates (in case you were wondering who that guy with Max Zuckerman was) talking about the program and about the future potential of software.

So what is being offered? Glad you asked!

Microsoft developer tools.

Microsoft designer tools. Expression Studio, including:

Microsoft platform resources.

  • SQL Server 2005 Developer Edition
  • Windows Server, Standard Edition (Yes, Windows Server Edition!!)

There are two key FAQs.

A couple of questions have come after that. They are probably in the FAQs but maybe you can't wait or maybe they are not. Yeah, that's why I was waiting to blog so I could answer more questions. No really! OK maybe not  but it works out well that way.

What about high school?

It's coming. It has a high priority as the next step. Bill Gates says it will happen and that commitment appears several times in the press release and in other official statements. I'll have more information about this as things get settled and information becomes available.

How do students learn how to use this stuff once they have it?

I've got a few resources listed here and I am working on getting more listed. So return often. And if you have some to recommend please leave them in the comments.

  • Beginning Developer Learning Center - a great place to start with videos, tutorials, and projects for learners of all ages.
  • Coding 4 Fun - Lots of fun projects most with step by step instructions and many with videos.
  • MSDN Forums - These are the forums the professionals use but beginners are welcome and there are lots of people willing to help with technical questions. A lot of students and faculty members are already there asking the tough technical questions.
  • XNA Forums - If you want to learn how to develop video games with XNA this is the place to ask questions.
  • Channel 8 and the Channel 8 Student Union - lots of information in the videos there and lots of good discussion in the forums of the Student Union.

What about faculty? What about classroom/course use?

Microsoft is retaining their existing programs for getting software into the classroom and for course/faculty use. The MSDN Academic Alliance program (MSDN AA) is great for getting software for teaching labs, including a lot more than DreamSpark offers students, into the hands of faculty. Also there is the IT Academy program. If you are a faculty member who teaches IT/CS or related topics you really want to check those programs out. MSDN AA and IT Academy are both programs that already include high schools in case you were not aware of that.

Faculty can also get access to software though the Faculty Connection sites.

StatCounter - Free Web Tracker and Counter
StatCounter - Free Web Tracker and Counter

Science and Engineering Links

Did you know that next week is National Engineering Week? Well it is. So in honor of that a few links.

Check out the Try Science web site - Sponsored by IBM. There you will find a list of science competitions by a wide range of sponsors and for a number of different age groups.

Last week I wrote about Maker Faire. If you are interested in science and engineering taken for fun and excitement check them out.

Last year I had the following links which appear to still be good.

Discover Engineering Online
Introduce a Girl to Engineering - This year's date for this is the 21st BTW
The Sightseer's Guide to Engineering

Engineering is fun, interesting and a great way to change the world. Spread the word!

Technorati tags: ,

Tuesday, February 12, 2008

Build, Craft, Hack, Play, Make!

It looks like Maker Faire is starting to ramp up for this coming May. I'm trying to see if I can justify a trip out to California for it this year. Last year a couple of my friends worked the event showing off some really cool stuff and had a great time. Maker Faire is sort of s geek version of a county fair. It is a cross between a big county fair and a science fair with an emphasis on making things that are fun and interesting as much if not more than practical.

There is a "call for makers" out now. You can find out how you can show your own interesting projects there. I borrowed some information from the call for makers page and put them below but you should go here if you are interested in taking part.

Maker Faire Bay Area Entries: Deadline March 12, 2008
Key Points:
  • Entries Due: March 12, 2008. Space is limited, please submit your entry early!

  • Maker Faire Tryouts (See below): February 17, 2008, The Exploratorium, noon – 4pm.

  • Notification of Acceptance: Entries submitted by March 12 will be notified by March 19.

  • Maker Bay Area: May 3-4, 2008
    Hours: Saturday 10-6 pm; Sunday 10-5pm.

The Bay Area Maker Faire for 2008 will be May 3-4, 2008 in San Mateo, CA.

Wednesday, January 02, 2008

Some Interesting and Useful Curriculum Links - Visual Basic, XNA, Other Intro CS

Over the holiday I did some browsing around the Internet. I found a couple of new blogs to follow, read some posts by people who hadn't blogged in a while, and just stumbled across some interesting things while looking for something completely different. Among my discoveries were some interesting curriculum links that I thought were worth sharing.

One of them is a set of online modules for teaching Visual Basic written by Professor Larry Press from California State University, Dominguez Hills. The modules are here with each line in the table being a module with hot links to information, projects, code, etc. You can read a summary including some of their findings on how well this worked here.

From the east coast, MIT has been making curriculum available online for a while but now has a new high school page with courses designed by MIT students for high school students. You can also get a good look at their online introductory computer science courses here along with introductory courses in a number of other subjects.

Last but not least Brian Scarbeau has started to blog about the new XNA course he is teaching this semester at his high school. Brian links to information about his curriculum and the textbook he is using. I hope he has time to keep it up though I know he is a busy guy.

Some good things out there on the Internet these days. It's just a matter of finding them.

[Cross posted from my main blog.]

Monday, December 31, 2007

Projects for a Programming Course

At their best teacher blogs are full of information and idea sharing that benefits other teachers. For teachers of computer science or computer programming one of the most useful things teachers do is to share projects. A good project engages students while at the same time enforcing important concepts that have been covered in class. A prime example of this is a recent post by Mr. Higgins (aka Higgy).

In this post he lists out and describes the projects he is using with his Advanced Placement Computer Science A course (APCS A). The list includes some fairly basic and perhaps familiar projects like ASCII and number base conversion up to some more complex and new (at least to me) projects like a Galton Board. For some he has links to more complete descriptions that I think many teachers will find extreamly helpful.

All in all this is one of the most useful CS teacher blog posts I've run into in a while.

Friday, December 14, 2007

Robotics and .NET Fundamentals Series

Sometimes it really pays to have smart friends and let them figure things out for you even if you don't really plan it that way. Early this week a received a brand new robot in the mail. I've been waiting for it for a while. The problem of course is that it came at a bad time. My schedule this week was full. I had some travel and a bunch of meetings that took me out of the office just about every day and filled the time in the office with other things. So the robot stayed in the box. A very sad thing.

Fortunately for me one of my friends and co-workers also received an identical robot this week. Now I don't know if he had more time or if his wife had a shorter list of things to do after work then mine did or if he just goes without sleeping. But long story short Dan had time to setup and experiment with his robot.

But it gets better and this is what is going to make my life easier. Dan Waters has created a series of videos of his initial setup and experience that I think are very well done. I've been watching them to prepare before  I setup and experiment with my own robot. The index for the series (they're all in nice short manageable chunks of time) may be found here. Hopefully I'll have some things to report about my own stuff shortly.

BTW If you haven't already you may want to check out and install Microsoft Robotics Studio and Visual C# Express (both free downloads) for use with Dan's projects.

Popfly Goes to School

Popfly is a very easy to use and yet powerful mashup tool for non-professional developers. It's really a lot of fun to use and lets amateurs create some really interesting combinations of data and displays.

Professor Mark Frydenberg of Bentley College teaches technology to business students. One of the things he does very effectively is to use technology to teach technology. This year he has added Popfly projects to the mix. Recently Bob Familiar who is an architect evangelist for Microsoft interviewed Professor Frydenberg about how this all fits into the curriculum.

Bob introduces the interview here but the interview itself is here on Channel 9.

Wednesday, December 05, 2007

Max Builds a PC

My friend Mac is building a PC from parts. Over at Channel 8 (First post in the series here) he's looking for recommendations and suggestions about parts. Looks like a good conversation is taking place already but there is always room for more.

Oh by the way did I mention that he's going to give the resulting computer away to one lucky contributor to the discussion? Yep, here's his plan:

  • In this series, I will present my point of view about a certain computer component (like a graphics card or motherboard)
  • YOU comment and tell me your point of view and why
  • Once we have all the components discussed and chosen, I'll build it and post video to show exactly how I did it
  • Here's the fun part... when I'm done, one of you clever community commentators will WIN the new PC!
  • It seems like a lot of students are "in to" building their own computers. Perhaps it is the new car hacking for the 21st century. If you or someone (perhaps a student) are really all about the custom computer send them over to Channel 8. Perhaps they'll win their dream computer.

    Tuesday, December 04, 2007

    How Do I - Videos

    I found out about a bunch of new videos that show how to do different things with different Microsoft development products. They all run between 10 and 15 minutes and focus on specific tasks. They are adding new videos every week so you may even want to subscribe to the RSS feed.

    What topics/tools do they cover? Glad you asked. Here's the list:

  • ASP.NET
  • ASP.NET Ajax
  • Devices
  • Native Coding
  • Visual Studio Extensibility
  • Visual Studio Tools for Applications
  • Silverlight
  • Visual Basic
  • Visual Studio Team System
  • Windows Forms
  • Windows Presentation Foundation

    The site is called "How do 1? and you can find it here. I've already got my eye on a number of them to watch this week. I see them as a good way to digest things in a short period of time that fits into my schedule. I'd love to hear what others think.

  • Saturday, December 01, 2007

    Top November Posts

    November was an interesting month in some ways. It seems that when I really for for an opinion piece it attracts more attention in both readers and comments. At the same time some informational posts quietly attract a lot of readers.

    Is Computer Science Dying was the most read and most commented on post largely because it got some good attention from Dzone. Comments from Dzone readers are honest and respectful. Some goods comments were left on this post. Thanks!

    Carrot, Stick, Attract, Retain, Boys, Girls which was about attracting more minorities and women - especially women also attracted a fair amount of comments and readers. Not everyone sees the shortage of women as either a problem or something we can or should make extra efforts to do things about.

    My Ideal First Programming Language rounds out the top posts in terms of comments last month. I think that anytime you get programmers or other computer scientists to talk about programming languages you'll get at least as many opinions and there are people in the conversation.

    Speaking about first languages. Links to My Game Builder (blogged about here in October but still getting a lot of attention) Scratch and Alice were among the most followed links in November. It sure looks like people are looking for innovative ways to teach young people about programming.

    The last top November post I'll mention is my comments about the Kindle from Amazon. Robert Scoble added it to his link blog which sent me a few readers. An awful lot of people were doing search engine searches for the Kindle though and that accounted for most of the traffic. That's still a device I think will be interesting to follow BTW. If the Amazon people are reading the Internet discussions and taking them to heart the V2 version might just really be amazing. One commenter pointed out that the Kindle could greatly reduce the weight of elementary school backpacks. There have been some studies that indicate that some children are suffering back problems from too heavy back packs. Could the Kindle be a solution to a health problem? Stranger things have happened.

    Thanks again for all of you who stopped by to read, the leave comments or to send me feedback via the connection link. You can also reach me by email at Alfred.Thompson (at) Microsoft.com. 

    I am in Texas (near Dallas) this week taking a course. I hope to keep up with blogging and email but course work will take priority during the day.

    Monday, November 26, 2007

    Math Add-in for Microsoft Word

    Here is a little goody for all of you out there (especially you math teachers) who are always struggling to add mathematical things (formulas, graphs, etc) into Word documents.

    The Microsoft Math Add-in adds computational and graphing capabilities to the Equation Tools Ribbon of Word 2007.
    With the Microsoft Math Add-in for Word 2007, you can:

    • Plot a function, equation, or inequality in 2-D or 3-D
    • Solve an equation or inequality
    • Calculate a numerical result
    • Simplify an algebraic expression

    I tried this out and it is very easy to use with lots of helpful explanations and "how to" instructions. You have to have Word 2007 of course but the add-in itself is a free download. More information and the download are here.

    WiiMote (Wii game controller) and Microsoft Robotics Studio

    I've written before about the Wii controller with links to software that allows a programmer to use a WiiMote with a Windows computer over at Coding 4 Fun. (Note that the code has been updated since that original post.)

    The latest cool thing I have seen that involves the WiiMote is Zeddy Iskandar showing off his sample code that uses Microsoft Robotics Studio and a WiiMote to control a robot remotely. The demo uses a Lego NXT based robot but I'm sure the code sample could be used to run other kinds of robots as well.

    Over at Channel 8 (this post) there is a video demo and step by step instructions including code examples that Zeddy used. Check it out!