[Edu-sig] Developments on the Urner front
urnerk at qwest.net
Thu Oct 14 19:14:23 CEST 2004
Couple of things:
Jim Leisy, publisher of John Zelle's intro to programming college and/or
high school text, invited me to Willamette University last Friday to observe
(and contribute to) a presentation on Python for the CS track.
The audience consisted of CS teachers from around the northwest region. A
prof from Idaho (Lewis-Clark College) shared her PowerPoint about Python.
She'd taught many languages over the years, and had done the Scheme
intensive at Rice. However, after taking Zelle's workshop, she was
persuaded to go with Python and she's never looked back.
Retention (keeping would-be CS majors from dropping out) is now less of a
problem (students enjoy programming more), and those taking her course to
fulfill requirements of another major (e.g. science, math, engineering) come
away more satisfied and equipped to move forward.
One thing I learned during the presentation was that accreditation in some
curricula requires at least 3 years with a specific language (?). A prof
from Texas said the only reason they were still using Java is that Zelle's
text didn't span a full three years.
Jim was a little surprised at this implied market, as his assumption has
been "use Python as an intro, then switch to a statically typed system
language for balance." I agree that more than one language, including
exposure to compiled, statically typed languages, should be a part of any CS
In any case, it was a productive presentation, with Jim giving a free copy
of Zelle's text to everyone present. A few of the profs in the audience
were already using Python and spoke highly of it. I fielded a few questions
from the sidelines, mostly relating to graphics.
One guy objected that Python might be fine for production programming, but
in the academic context, having procedural, functional and object-oriented
paradigms all mixed together lacked rigor. I assured people that the
object-oriented paradigm (everything is an object) could be taken as a base
paradigm, with the others developed on top of it (even in procedural code,
the prevalence of dot notation speaks to the omnipresence of objects).
The presenter transitions to C++ in the second year. She said that whereas
starting with C++ or even Java tended to promote burnout, once students had
done Python for a year, C++ was no longer all that difficult -- annoying,
yes, but not that difficult.
The other thing: I'm developing a "numeracy text" which demonstrates how
I'd like to see things weaving together in the early years (this text might
start to be relevant in 8th grade or so -- depends on the kid obviously).
Python is incorporated. I've written six chapters. A notable "omission" is
that I'm always referring to off stage computer games and simulations that
don't actually exist yet (or do, but I'm not providing them). This is a way
of enlisting the reader's imagination, and a collaboration strategy -- more
than one implementation of any exercise might be offered.
http://www.4dsolutions.net/ocn/numeracy101.pdf -- I'll be adding more text,
improving existing text, as time permits.
More information about the Edu-sig