Computer Science Teacher
Computer Science Teacher - Thoughts and Information from Alfred Thompson

December, 2009

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Software Development – Old School V. New School


    One of the links floating around a lot recently has been this article from the recent Microsoft Professional Developers conference - Microsoft's top developers prefer old-school coding methods. It seems particularly hard on visual programming tools which are left mostly undefined. So of course I wanted to watch the whole talk. You can find the video stream (about an hour long) at Microsoft Perspectives on the Future of Programming and I do recommend it as a very interesting panel. The panel spent quite a bit of time talking about parallel/concurrent programming, some time on safety of programming and memory management and garbage collection. Some of it at a very high level which you’d expect with people like Turing award winner Butler Lampson and super computer pioneer Burton Smith (watch his talk on The State of Parallel Programming as well.) on it.

    But the comments about developing software using text versus using visual programming seems to have garnered the most discussion. For example:

    "Graphical programming environments are usable when they are useless, but unusable when they would be useful," said Jeffrey Snover, another Microsoft distinguished engineer and creator of Microsoft's PowerShell scripting tool for Windows. "When there are five things on the screen, you can burp that out [in text]. But when there are 500 things, [graphical programming] is completely unusable. You zoom in and zoom out and you lose all context. I think it's just smokin' dope."

    And what he says is largely correct. If you want to add a handful of objects to a form drag and drop is quick and easy but you could probably do it manually (i.e. write some code in text) to do it pretty easily. On the other hand if you want 64 objects (say for a board game) you’ll probably prefer to write some code to add them all. (BTW I have an article about creating arrays of objects you may be interested in) That being said I do like drag and drop for beginners. Why? Because specifying all the little details for an object using text is tedious and for most beginners unnecessary knowledge. It lets beginners do some things that they might not otherwise be ready for. The analogy in the talk is how anti-lock brakes mean that drivers don’t have to be quite as skilled on snow and ice then they used to. Is that bad? I’m not so sure it is.

    The panel doesn’t directly address drag and drop languages like Scratch and Alice. That paradigm is one I’d really like to see taken to greater depth. With the right IDE to manage complexity and some reasonable extensions to the language to make them less domain specific what possibilities might open up? I hope we as a discipline are not to close minded and backwards looking not to try.

    But you know, no matter what some people will stay old school. There are drivers out there who not only eschew anti-lock brakes but automatic transmissions. I’ve heard them say “it’s not real driving” if you use an automatic. Well it’s different and sometimes the old way is better. I like real wheel drive and a standard on a sharp windy road myself. On the other hand I really like my automatic transmission in stop and go city traffic. So the idea of one “real” way is a myth and will probably always be a myth.

  • Computer Science Teacher - Thoughts and Information from Alfred Thompson

    Are you going to SIGCSE 2010?


    I see over on the SIGCSE 2010 blog that early registration for SIGCSE is now open. In my opinion SIGCSE is the most important computer science education event of the year. Now I know that a lot of people see it as primarily a higher education event and for sure most attendees are in higher education. But there are always a lot of high school computer science teachers there. Lots of AP CS teachers. Lots of CSTA (Computer Science Teachers Association) members. And usually a lot of local high school CS teachers taking advantage of the opportunity. It’s tops on my list every year. ISTE (nee NECC) may be larger in shear numbers but SIGCSE is larger in terms of the density of computer science educators. And I’ll tell you a little known (or perhaps just little admitted) piece of information – the overlap between advanced high school courses and entry level college courses is pretty high. So there is always a lot of value in attending SIGCSE for high school CS teachers.

    Some great information/introduction from the conference web site:

    The SIGCSE Technical Symposium addresses problems common among educators working to develop, implement and/or evaluate computing programs, curricula, and courses. The symposium provides a forum for sharing new ideas for syllabi, laboratories, and other elements of teaching and pedagogy, at all levels of instruction. We invite those interested in computer science education and computer science education research to contribute to SIGCSE 2010.

    CONFERENCE THEME: Making Contact

    SIGCSE 2010 continues the long tradition of bringing together colleagues from around the world to make contact via paper, panel, poster and special sessions, as well as workshops, birds-of-a-feather, and informal settings at breaks and meals. We celebrate and encourage these contacts that allow us to renew and make new connections as we discuss the challenges and excitement of computer science education.

    SIGCSE is March 10-13, 2010 in Milwaukee Wisconsin this year. That’s actually a good thing I think. I am expecting hotel and airfares not to be too outrageous. So it may be more affordable for more people. Well I’m planning on going. I hope to see many of you there.

Page 7 of 7 (20 items) «34567