Teaching python (programming) to children
Peter Hansen
peter at engcorp.com
Mon Nov 12 19:47:36 EST 2001
David Andreas Alderud wrote:
>
> > This, of course, represents a value judgment on your part that loose
> > typing (and by the way, Python is *strongly* typed, but dynamically so)
> > is a bad thing. In any case I would argue that the habits beginners would
> > pick up learning Python would serve them well in the future. When they get
> > to a statically typed language, or a weakly typed one (Python is neither),
> > they will question *its* value and ease of use.
>
> Depends on the audience I guess, people who are interested in programming
> tend to be interested in how the computer works and how to write efficient
> programs.
I think we were talking about *children*, who are definitely not interested
in writing efficient programs... Don't mix first-year students who might
want to learn about the guts of a PC with the audience which was targetted
by this discussion.
> Things like dictionaries are good for non-programmers to get things done,
> it's good for a simple solution but can not be transformed in a way that BST
> are simply turned into an R\BST when the requirements change.
Sorry, no idea what you are talking about. What's a BST?
> > No, good teachers who promote consistent coding style, modular
> > design, unit testing, and so forth teach students how to write good code.
> > The language has very little to do with it, except insofar as some
> > languages get in the way of that, while others do not. Python does not.
>
> Again, depends on what kind of view one has of teaching and learning, my
> view is that the students should teach them selves, and that is best done in
> Ada.
Uh, yeah, so teachers are just there to serve cookies? And would
you seriously prefer Ada over Python for teaching *children*?
> > Python has proven very effective for hardware programming. Yes,
> > via a DLL or driver or something, but then again very little of
> > what constitutes "hardware programming" involves access to the
> > hardware, and most involves what you *do* with that access.
>
> We have completely different views on low-level programming, when doing
> hardware programming I do not simply mean accessing hardware.
Neither do I; that was my point. But likely we are talking apples
and oranges... I've been using Python to talk to instruments like
oscilloscopes via a GPIB interface, to talk to various devices
through serial or parallel ports, and to talk to a 16-bit processor
through a dual-port RAM, and to twiddle the bits in a watchdog timer
device on an embedded PC104 module. The results have been
uniformly superior to those I seen with other languages, thus
my claim that Python would be quite effective at teaching "hardware
programming" to first-year university students (allowing them
to focus on the task at hand, not the language).
So what do *you* mean by "hardware programming"?
--
----------------------
Peter Hansen, P.Eng.
peter at engcorp.com
More information about the Python-list
mailing list