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.
-- Dennis
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 teacher/student). 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 them learn. 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. Kirby