[Edu-sig] More thoughts on CP4E (what it means to me)
Thu, 18 May 2000 11:45:00 -0700
At 07:52 PM 05/18/2000 -0700, Dennis E. Hamilton wrote:
>The Euclidian GCD algorithm is also the very first algorithm introduced
>in Volume 1. It is used for the initial discussion of what constitutes
>an algorithm, the conditions that an algorithm satisfies, and so on. (In
>the 3d edition of volume 1, Fermat's last theorem is indeed downgraded
>from difficulty [M50]. I can't remember if that leaves any [M50]
>problems in the book!)
Yeah, I've been noticing the references to Euclid's Algorithm
in Volume 1. I think I'd like to own Volume 1 eventually as
well, eventually. Volume 3 too.
>Meanwhile, happy birthday! For a long time, ACP vol.2 was one of the
>most dog-eared and referenced books in my personal library.
Thanks. Knuth's volumes are obviously a gold mine. I've
looked at them before, but never owned or studied them in
a lot of depth.
I think a lot of what's in Knuth can/should be translated
into to math-through-programming approach simply because
now we have simpler languages (e.g. Python) and don't have
to think in terms of the assembler-style MIX language he's
using (important for computer science, but again, I'm
looking through the eyes of a garden variety math
Back when cars were new/rare, you had a lot of "professional
drivers" around, many of them into racing, but also driving
for others (i.e. as chauffers -- still requires a special
license). And of course we _still_ have lots of pro drivers
in the picture, but we also just have a lot of people who
just drive cars (without being pros or anything). When
people ask me what it is I do, I don't say "I'm a driver"
(even though that's part of what I do).
By analogy, I think CP4E means a lot more people programming
computers, but not thinking of themselves as "professional
programmers" (in the sense of being "software engineers").
It's not even the same thing as being an "amateur" exactly.
I'm not an "amateur gourmet chef" just because I know how
to follow a recipe. It's just a basic skill, and I'm as
good at preparing food as I need to be at this time in my
life. Just because I can change a light bulb doesn't make
me an "amateur electrician" either. I type, but don't
think of myself as a "professional typist".
Likewise, we'll have a lot more people who feel competent
to type some of their own code into a computer, maybe mixed
with code by others, run it, debug it, and get results,
without really thinking of themselves as "amateur software
engineers" -- no, they're just able to program some, just
like they can drive, scramble eggs, change a light bulb,
put up a web page. No big deal. Part of what every kid
learns. And there will also be those who study the art
of computer programming in more depth, aspire to be pros.
In sum, I don't think CP4E necessarily means "teaching more
kids to become programmers" in the sense of "professional
programmers" (although I expect that'd be a side-benefit).
I think it means looking at programming as just one of those
things people may do from time to time, like gardening.
Sociologically speaking, I think this is happening with
or without any funded initiatives such as CP4E. What
we're seeing is a lot of retirees with computing skills,
acquired in their professional lives, and now hanging
out with their grandchildren. The kids see older folks
enjoy "puttering around on their computers" much as they
used to see older folks "puttering in their gardens".
They get the idea that computer programming is something
you do for fun, along with playing electronic games.
It's a recreational activity. And part of the fun is
teaching programming skills to younger people, watching
In this way, an art or science percolates outward and
into popular culture. A next generation grows up without
the bias that you need some special qualifications or
training to engage in activity X. No, you just needed
to have a parent or grandparent who was into it, and
had the time to show you the ropes. We've seen this
pattern repeated throughout time.