Dreamspark is a program that Microsoft first announced last year for college and university students. Ever since then a Dreamspark program for high schools has been “coming.” Well just before Christmas a beta version of the program and web site soft launched. Soft launch means it was there if you stumbled upon it or if you heard about it by work of mouth. The idea was to try the system out with small numbers to make sure things work before making a big announcement. Well it’s ready for real now and I wanted to be one of the first to talk about it. (Though Brian Scarbeau found out about it during the beta and blogged about it already.)
Now privacy and the care of personally identifying information on minors is a huge concern for us all. Likewise we wanted to make sure that adults were able to see/read/understand/explain the EULA to students. So the way Dreamspark high school works is that a school administrator or teachers signs up for a school. There is a verification process and than the responsible adult at the school is given a set of keys or approval codes to hand out to students. Students use that code to log in and get access to a whole lot of software for free!
Developer tools, server operating systems, Robotics Studio and XNA Game Studio and more. Don’t miss the IT Academy Student Pass for free training either! And yes the college/university program is still there and still the same great program that thousands of students have already taken advantage of.
It is great that this is available. Now if only some clever soul would write some curriculum materials so I could use it without writing my own courses. I want a course for the average high school student that is in the programming class because there was nothing else offered that hour. A course for the kid that is not going on in programming but just wants to be able to write a little snippet to solve some little math problem. A course for the non-computer geek kid. A programming course for the teacher who would rather ride his mountain bike on a sunny day than sit in front of his computer writing and debugging his Small Basic pong game. A course on how to teach programming at the high school level to non-computer geeks would be nice also. Teaching programming to computer geeks is not an issue, it is a case of just getting out of the way before they run you over. I am presently trying to design the course I want using Small Basic but all the other things like teaching and fixing the school's computers keep getting in the way.
Curriculum is something we are working on. THere are a lot of resources at the Faculty Connection web site for example. http://www.microsoft.com/education/facultyconnection/bz/default.aspx And some at the Beginning Developer Learning center. http://msdn.microsoft.com/en-us/beginner/bb308754.aspx And more to come.
I can see the Sharp Kids and Bright Kids documents for self motivated very sharp and very bright kids who like to read a lot, a real lot. But not for the normal sharp and bright kids who read only when threatened with bodily harm. I believe programming should be something the average kids can understand and not the arcane computer geek science it presently is in most schools. Teaching OOP is great if you are going to base your life on programming but is far from necessary if you just want to understand some programming basics. If I taught a four semester Programming curriculum I can definitely see the second year being based off the idea of OOP and the Sharp Kids and Bright Kids documents. I teach a two semester curriculum where the first semester gets all sorts of kids; the sharp ones and the not so sharp ones and those avoiding Film History with Mrs. Williams. I am using Small Basic because I do not have to spend three class periods just dealing with the IDE; how to save, what to save, what all that stuff is that just got saved, etc. The second semester is fairly easy to teach, those kids hung around because they enjoy programming, not because they are avoiding Film History with Mrs. Williams.
What I need, and most of the programming teachers I talk to need, is that first semester. Something fun and interesting with lots of cool but simple programs to design and write. Kids will spend hours making that stupid turtle do what they want but five minutes of writing a loan interest computing program is too much.
I am in the process of writing said course but I really suck at coming up with great programming ideas that teach For loops, If decisions, etc. I am a math geek so I like writing programs to solve Project Euler problems. The kids really are not into that approach. I believe they have the idea there is a direct correlation between math and removal of teeth without Novocain. I am trying to get that first semester to focus on the design and algorithm development, then write a small program that uses the concept of the week. It would be no problem writing the course if I did not have the inconvenience of a job sucking up all my time (and a lack of good ideas and sunny days on the mountain bike). What I want is some clever soul to write a course with a daily lesson plan outline, programming assignment ideas, fundamental concepts tests and have it based on a simple IDE like Small Basic. Is that too much to ask? While they are at it, it would be nice if they could figure out a way that a 56 year old man could climb like Lance Armstrong.