Python and Schools
Ian Bicking
ianb at colorstudy.com
Thu Apr 17 02:39:05 EDT 2003
On Wed, 2003-04-16 at 21:24, Tim Ottinger wrote:
> Donnal Walter wrote:
> > I am a physican first and programmer second. I've never taken a course
> > in computer science, and I do not know the meaning of O(N). OTOH, just
> > from following comp.lang.python I think I have a pretty good idea why
> >
> > s += str(i)
> >
> > would be a bad idea. Nevertheless, I certainly would not be opposed to
> > deepening my understanding. (PythonIAN is great, BTW.)
>
> I came in late. If we're talking about schools, I'm not sure whether
> we're talking about colleges and adult ed, or high school, or elementary
> school. Are we talking about teaching people who know nothing about
> programming?
It's also a question of what you're trying to teach. Something that has
always impressed me with Logo is that it's more of a teaching
philosophy, and a language goes with it. The intention behind Logo
isn't to teach programming... rather, programming is a medium in which
to teach all sorts of other great stuff.
I personally believe that programming is *the* way pre-algebra and
algebra should be taught. Logo shows it works very well for geometry as
well. But you really have to get rid of the idea that you're teaching
programming -- it does the children a disservice anyway, because
programming is a rather niche skill in the larger picture. When you're
teaching *with* programming, big-O notation and many other programming
notions are just a distraction.
> Maybe not too bad for 5th or 6th grade, since they're far from writing
> any professional code. You tolerate more with rank beginners, and you
> correct it in time.
I'd go further -- if you're not trying to teach them to become
programmers it's not a matter of tolerating, it's completely okay to be
inefficient. It'd be like criticizing a student's handwriting on the
caption they made for a picture in art class, or criticizing the
aesthetic of a graph made for algebra.
Ian
More information about the Python-list
mailing list