Additional profile information on Alfred Thompson at Google+
Dan Waters, a member of the Academic Relations team based in Florida, has been working on an XNA version of Pong as a tutorial for beginners. Last week Dan posted a link to the source code for people who are interested in playing with it. Dan isn't making any claims of brilliance for it and I haven't had a chance to try it out myself but I'm guessing this might be a piece of code a bright student might enjoy improving on themselves. The tutorial Dan has writen is clear and easy to follow. So this looks like a good starter project to me.
Dan actually comments his code BTW. Brian Scarbeau who is planning on using this sample in his high school computer science game development course notes that this serves as a good example for students as well as being helpful for understanding the code. For teachers who want to intriduce XNA to students using this project (or even without it) Dan includes a PowerPoint presentation with the source code as well. And there are even speaker's notes with the slides!
Dan and his wife recently brought home their first child and I'm guessing that Dan's time is being occupied with things other than programming these days. So I image that he would be happy to see someone else do interesting things building on what he has so far. Go check it out and maybe set some students lose on it.
How is software built in the real world? How are open source and closed source development projects different? How are they the same? How do companies leverage different development styles and ecosystems?
Chances are these are questions that come up in a lot of classrooms. I know they come up in professional development shops all the time. So where does one look for answers? Well one possible place is a new blog called How Software Is Built.
The blog is sponsored by Microsoft but includes interviews with people from a wide range of development organizations and companies. Open source, closed source and organizations that use a mix are included. There are a bunch of interviews from both sides of the open source/closed source side of the world posted already including:
This is one to bookmark or subscribe to as it promises to be an interesting source of real information to fuel debate, discussion and mutual learning and understanding.
BTW here are a few more links regarding Microsoft's ongoing dialoge with the open source community:
Brandon Watts has created a simple programming language for beginners called Leopard. Brandon sent me an email earlier this month and asked me to take a look at it. I had seen a write up on Leopard at Coding 4 Fun the month before but since I was doing heavy catchup from vacation at the time I hadn't looked at it yet. Brandon's email got me to read up on it, download it, and try it out a little. I appreciate the kick start.
Leopard is a very simple language and it is easy to get started with it. The install went smoothly and I loved that a number of install options (like creating all sorts of extra icons all over the place) were off by default. There are also a number of sample code examples that give one a taste of it's power.
I think of Leopard as what Logo would have been like if written for Windows programming. By that I mean one can create a window and add objects to it using code that looks a lot like what Logo is. The commands for drawing on the window are also reminiscent of Logo with instructions about lifting, dropping and moving a pen. One feature that is a big jump ahead of Logo is that one can use Leopard to open up a web browser and connect to web sites. The connection with Weatherbug, a sponsor of Leopard, means that doing all sorts of interesting and potentially educational things with weather data is really built into the process. A number of the provided samples take advantage of this connection.
There are some limitations I find serious though. There is no looping or decision making ability. They are in the works I am told and I will be interested in seeing how they are implemented. Also there doesn't seem to be a way to create modules/functions/subroutines. I think those are really helpful and something that beginners can and should learn early.
Obviously this is not an object oriented language but I don't see that as a huge disadvantage. The goal here is to hook beginners on programming and not to turn them into complete programmers.
I do think there is a natural progression from Leopard to something like Visual Basic. After a while I think beginners will become less interested in specifying window sizes and locations using code and more interested in getting to more active code. With Visual Basic and its drag and drop object creation one can get to the code quicker. And of course there is a lot of power in VB that isn't in Leopard. And of course with Visual Basic Express being a free download a beginner can get started pretty much for free.
Robert Scoble taped an interview with Brandon that includes a small demo of Leopard. You can see it here. You can read the Leopard blog Brandon maintains here. And the download site for Leopard is here.
I'd love to hear what others think? Are you or would you use Leopard to teach programming?