Additional profile information on Alfred Thompson at Google+
Also more to learn than can ever be learned. I’m in Washington DC for the National Educational Computing Conference. Today, Saturday, is a day of pre-conference events and there are many of them. Something for everyone I’m sure. Several things for many of us. For me I had to choose between the CSTA CS & IT Symposium and EduBloggerCon. Both were today and both are the biggest and best of their kind anywhere. But since I can only be in one place at a time I had to pick one. I picked CS & IT.
CS & IT is the single biggest and best one day computer science teacher professional development there is. This was the 10th event and the ninth year it has been held. I’ve been to most of them and by now I know a lot of the regulars. Plus there are new people every year. Several people who read my blog where there and I was able to meet them which was great. It does so much to improve the online interactions to have a face and a voice to go with the Internet identity. That would be enough of a reason for me to go by itself. But of course there are the sessions. I attended an interesting session on K-8 computer science that was done by the people who put together the Computer Science Teachers Association (CSTA) document on Computer Science For Grades K-8? With Curriculum Resources. They did some good work on that one let me tell you. Also I sat in on a presentation on using Adobe Flash in the classroom that was very interesting.
The opening keynote was by Jane Margolis and Joanna Goode is two of the co-authors of Stuck in the Shallow End: Education, Race, and Computing. It was a great introduction to the learning's they cover in their book and the programs they are working on to address the problems they found. This book is highly recommended – I dare say almost mandatory – for people who want to really understand why the numbers of minority students in computer science are so low. It’s an eye opener to say the least.
The closing keynote was by Debra Richardson, Dean at UC Irvine, who gave an inspiring talk about the importance of computer science education for everyone. A lot of discussion at the end about the problems with making this happen. This rolled back a little in some ways to the kick off keynote. Getting schools to make CS more central in the curriculum is going to be tough but many of us really truly deeply believe it needs to be done.
My congratulations to the symposium organizing team. Job well done!
EduBloggerCon is also a great event and I went to the first one several years ago. I understand (been watching a little on Twitter) that there are on the order of 100 education bloggers and other Web 2.0 education practitioners there. I did manage to drop in on an after event party and saw a bunch of great people – some I met for the first time and some I know online and some I knew in person and online. They all agreed that this was a great EduBloggerCon. Perhaps next year the two events will not conflict. A guy can hope.
A while back the College Board dropped one of the Advanced Placement Computer Science exams – the so-called AB exam. (About 14 months ago and I wrote about dropping the APCS AB exam here) Ever since then there has been a lot of discussion about the AP computer science curriculum in specific and the high school computer science curriculum in general. The College Board is working on a ne AP CS exam. The current A exam is still going to be around and the word is that it is in for some minor changes. One of these is a possible change in name to “AP Computer Science: Programming.” Now cynics and critics (of whom I have been known to be one) might wonder out loud why not “AP Computer Science: Java” but that’s not likely to happen. In theory the language could change one of these days. But there is also a totally new AP CS course in the works. This one is likely to be called “AP Computer Science: Principles” though I don’t believe any of these names are set in stone just yet.
What is this new course going to be like? Well that is hard to say as the Commission the College Board appointed to work in it is just getting started. But if seems like “there’s interest in providing teachers with choices of what language they teach. ” Mark Guzdial who is on the Commission lays out some of the issues involved in a recent blog post called “Nudging Computing Education” In this post he says that an unlimited set of choices is unlikely. I have no doubt that he is right. He also talks about some of the pros and cons of some languages - C++/Java and Scheme.
Now all of these languages have their supporters and detractors. Personally I think anyone going into a career (academic or industrial) should learn C++ at some point. I am not a fan of it (or Java for that matter) as a first language. Likewise I know people who are having great success teaching computer science with Scheme but also know students who all but dropped the idea of taking additional classes because of bad experiences with that language. Truth is – no language is perfect. But most of us have our favorites. So now a pitch for my recommendation for a language to make the short list for the new AP CS Principles course- Visual Basic. Come on you knew that was coming. :-)
On the pro side Visual Basic has an easy to learn syntax. many students find the semi-colons and curly braces of C-style languages and the complex nesting of parentheses of Scheme confusing and frustrating. That seems, in my experience at least, to be less of a problem with Visual Basic. Or other versions of Basic such as Small Basic for example. Then there is the matter of graphical user interface programming. Sure it is not by itself that important a concept but it can be part and parcel to students experiencing success and creating something that looks and feels “real” and relevant. Getting students interested and letting them have fun should be an important part of a first programming experience. With Visual Basic this is simple, fast and easy. Done right an instructor can keep students focused on code and concepts while the students enjoy creating software they can show friends. Plus there are features in the IDE like Intellisense that make exploration and self-learning easy. I think that is a plus.
Now critics will say that it is a proprietary language and only runs on Windows. True. But that still means it runs on most computers that most schools have. Cost is not really a barrier because the Express edition of Visual Basic is a free download. Students can even get the professional edition for home use for free through the DreamSpark program. And even if a teacher doesn’t want to use it that is not a good reason, in my opinion, from excluding it from a list of options for other teachers to choose from.
People might argue for a C-style first language because the APCS: Programming course is in Java. I have two replies to that. One is that after several years of starting with Visual Basic and following up with C++ (as C-style a language as it gets) I found that students with a good foundation of the concepts had little if any trouble picking up C++ from as inadequate a teacher as me. The other possibility is to include C# on the list of accepted languages.
Why? Well because C# has the same ease of creating GUIs that VB has. The same powerful and helpful IDE that VB has. And the colons and curly braces others seem to love and cherish. So that is two languages I’m suggesting. I suspect that there will be some strong support of Python as well.
Python is a dynamic language that is seeing increasing use in education. So the question for the commission is how many languages for their list.
I would argue that C++/Java/C# are all close enough that to include one means you can probably include all three. Given how many people are using Visual Basic for non-AP courses and the desire to see this new AP course reach many more schools than the present exam I think it should be included as well. Even if you don’t buy all of my earlier arguments. Python and Scheme? Probably or some people will scream pretty loudly. So does the list look like:
We could do worse. The one monkey wrench in this list is Scheme. While the other languages are procedural/object oriented languages Scheme is a functional language. Things work a little differently (some would say a lot differently) with functional languages. I’m glad I don’t have to make that decision or worse yet write the test that includes Scheme with the other languages. Not that that isn’t a worthwhile goal.
So what do you think? Any language you would add or subtract? Anything your seriously object to? Leave a comment or better yet hunt me down at NECC and give me a piece of your mind.
Early tomorrow I get to the airport to fly to Washington DC for NECC. Saturday is the CS&IT Symposium run by the Computer Science Teachers Association (CSTA) with sponsorship from Microsoft Research, Intel and some company that sells ads on Internet search results. Googol or something like that. :-) I’ll be talking about certifications with Anita Verno from Bergen County Community College. I’m hoping to see a lot of great high school computer science teachers there. Plus sit in on a couple of other sessions. It’s a day well spent.
Once NECC starts for real I’ll be all over I expect. I have committed to doing booth duty at the Microsoft booth and will probably be there around lunch time most days. I’ll post my schedule once I have it for sure. I’ll be on Twitter (@AlfredTwo) but your best bet to get a hold of me is to send me email (alfredth (at) microsoft.com) or send me a direct message on Twitter. Direct messages on Twitter get sent to my phone as text messages and I plan to check for them regularly. Or drop by the Microsoft booth and ask someone when I’ll be there or leave me a message there.
I also plan to spend some time at the Blogger Café (map see page 2).
I will be toting my laptop around (with an Xbox 360 controller) so if you’d like a demo of Kodu, XNA Game Studio, Visual Studio or just plain old the brand new and exciting release candidate of Windows 7 I’ll be happy to oblige. Or if you want to talk about Microsoft’s education programs for computer science teachers or students (MSDN Academic Alliance) or Dreamspark I can do that. Or if you just want to give someone from Microsoft a piece of your mind my ears and mind are open.