TITLE: SIGCSE Buzz: Python Rising? AUTHOR: Eugene Wallingford DATE: March 05, 2006 10:06 AM DESC: ----- BODY: If the buzz is accurate, Python may be a successor. The conference program included a panel on experiences teaching Python to novices, including John Zelle and Mark Guzdial, who have written the two texts currently available. My publisher friend Jim Leisy of Franklin, Beedle was very high on Zelle's book and the adoptions they've picked up in the last few months. The range of schools now using Python in at least one track of their intro courses ranges from small private schools all the way to MIT. Heck, I got home from SIGCSE and "PYTHON" even showed up as a solution in the local newspaper's Saturday Jumble! All in all, I think I prefer Ruby, both for me and for beginners, but it is behind Python in the CS education life cycle. In particular, there is only one introductory level book available right now, Chris Pine's Learn To Program. Andy Hunt from the Pragmatic Bookshelf sent me a review copy, and it looks good. It's not from the traditional CS1 textbook mold, though, and will face an uphill battle earning broad attention for CS1 courses. In any case, I welcome the return to a small, simple, language for teaching beginners to program. Whether Ruby or Python, we would be using an interpreted language that is of practical value as a scripting language. This has great value for three audiences of student: non-majors can learn a little about computing while learning scripting skills that they can take to their major discipline; folks who intend to major in CS but change their minds can also leave the course with useful skills; and even majors will develop skills that are valuable in upper-division courses. (You gotta figure that they'll want to try out Ruby on Rails at some point in the next few years.) Scripting languages pose their own problems, both in terms of language and curriculum. In particular, you need to introduce at least one and maybe two systems languages such as Java, C, or C++ in later courses, before they are needed for large projects. But I think the trade-off will be a favorable one. Students can learn to program in an engaging and relatively undistracting context before moving on to bigger issues. Then again, I've always favored languages like Smalltalk and Scheme, so I may not be the best bellwether of this trend. Anyway, I left SIGCSE surprised to have encountered Python at so many turns. Maybe Java will hang on as the dominant CS1 language for a few more years. Maybe Python will supplant it. Or maybe Python will just be a rebound language that fills the void until the real successor comes along. But for now the buzz is notable. -----