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.
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.
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 http://www.microsoft.com/education/facultyconnection/bz/articles/articledetails.aspx?cid=2084&c1=en-bz&c2=BZ
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.
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!
Great stuff, wish I had them 3 years ago when I started teaching XNA. Now, how about getting some resources in Silverlight and AJAX for us to use with our high school cs students.
How about some resources for the high school student who is an absolute beginner? I have a lot more students in my Programming I class than in my Programming III yet I am much less satisfied with the quality of the Programming I material I am using. The only way to get more main stream students (as opposed to the programming geeks which are few and far between) taking the next level is to make the Programming I class interesting and relevant. It would be nice to have a Microsoft sponsored program designed for those with no experience in any programming language. I have languages from Microsoft that seem designed for beginners (Small Basic, VB.net ) but no Microsoft supported or sponsored curriculum for that level. Is it even possible to teach C#/XNA to a total beginner? I can teach SB and VB to beginners because I have lots of trial and error experience with both languages. Even that gets a little iffy at times. Trial and error experience is something I no longer have time to develop due to teaching load. Perhaps there is something out there and I just cannot find it? It would be nice to have teacher materials titled “A Beginning Programming Course to be Taught by Teachers That Do Not Have Time To Learn a New Language The Hard Way” or “A Programming Course for Teachers That Know Just Enough To Get Themselves In Trouble”. Of course it would be nice to have student materials to go along with the teacher materials. Something like “A Cool Programming I Course For Absolute Beginners Using (place language name here)”. A beginning programming course based on the Windows 7 Phone would attract kids like bees to honey. “I wrote this program in class, tried it on my phone, posted it in the market place and sold 400 copies”. I would have 100 kids in Programming I. The possibilities boggle the mind. But then I boggle easily.
have you looked at the matterials on the Beginning Developer Learning center? http://msdn.microsoft.com/en-us/beginner/cc956148.aspx Yes there could be more and I'm working on it.
I have looked at the stuff at BDLC. I am not brave enough to try that stuff on high school students; it is a little bit too cutesy. Fourth and fifth grade maybe. It would also be very difficult to make a semester long course out of the material. I am presently teaching my Programming II/III kids using the Microsoft pilot materials “XNA-C# Game Development Curriculum” by Rob Miles. I would really like to have something like that for the beginner. A beginner course that led to writing a simple app for Windows 7 Phone would be a major attractor for a Programming I course and keep the kids interested in a second semester. Typically we will have 10 to 20 kids in Programming I because we are a small school (200) and the kids do not have a lot of elective options. They get stuck in the course and most are not computer types in any way, shape or form. I see these kids as a major opportunity. They may not be there willingly but if the course went somewhere interesting there is a possibility of keeping them. If a beginner course could be written that had a tangible goal; i.e. Xbox game, phone app, etc. at the end of the course then I could probably keep more of those mainstream kids in the Programming/CS field. Presently Programming II usually will have maybe one or two kids. I have been on a Google search for interesting Programming I curriculum for a number of years without much success. All of the really cool stuff is written for more advanced programmers and needs to be taught by a teacher with a lot more programming experience than the average “used to be a math teacher but am now a programming teacher” types. If Microsoft really wants to get involved in programming education they need to get two things up and running: a teacher education curriculum on how to teach introductory programming to mainstream kids, and a semester/year long curriculum for those mainstream kids with an interest captivating goal. If Microsoft wants to capture the phone market, teach junior high and high school kids to write apps for the phone and they will buy that phone. Same with Xbox. If I was really ambitious I would start designing and writing my own curriculum but teaching, eating and sleeping would get in the way.