Re: [Edu-sig] Microsoft's KPL
> My "not of interest to the list" was not a put-down, just meant "this > is not shared background, not everybody-knows stuff." Note: My exact words were: "not necessarily relevant history to others on this list, either." I was NOT saying: therefore shut up about it (even though I'd encouraged you to share your history). I was saying: more please, if you're going to keep taking strong positions and emphasizing how strongly you feel about them. Because you can't rightly expect your version of history to be what others on this list have considered as a relevant telling, me included. All this applies to me as well. I need to publish my version of history too, for context -- and do, though more at my web sites than here. OK, I think that must be crystal clear. Of course you don't have to follow my advice, and of course I'm free, if you don't, to stop trying to understand your posts, or even read them. Kirby ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
[Edu-sig] Uniform Access Principle confusion
> Behalf Of Arthur > > But I am certainly convinced that the freedom to make mistakes is > unassailable as part of a learning process. And therefore conclude that > programming in the style that Python allows is an unassailable and > under-utilized educational resource. Clarifying what I mean here, and asking some real questions at the same time. No, I don't think writing code in Python is so free as to be more subject to the problems of programmer error, but that's OK because it is good for learning. What I do mean perhaps goes back to the discussion of properties and the Uniform Access Principle. There are languages that believe so strongly in the importance of the UAP, that it is imposed within the design of the language - from what I see Ruby and Eiffel offering the strictest implementations. But if one were to be learning programming from, say Ruby, it seems to me that there are at least two things that it will be near impossible to discover: 1) The basis for a conclusion that the Uniform Access Principle should be considered an inviolate principle. 2) The basis for a conclusion that it should not be. Because one cannot explore the possibilities (and problems) of working both within and outside of it. The Python environment - providing properties as a convenience for exploring the possibilities of working within it, and the ability to ignore them for exploring the possibilities of working without - seems optimum. For learners/explorers - for sure. But I would expect for fully grown-up programmers as all. That being said - still not getting the UAP thing. Which seems to be saying that distinguishing between assigned attributes and methods that do not take parameters is an implementation detail, and hiding it, benefits (is essential to) API design flexibility - via a decoupling. But why is distinguishing between methods that do and do not take parameters any more justified, and isn't doing so its own kind of violation of a principle of decoupling. None of this questioning coming from the abstract realm - because I am exploring in a language that does inhibit exploration. If anyone is still reading... One of the cases in which I used properties and thought I had it right - on the getting of a vector I wanted the return, for purposed of drawing, to be constrained to some MAX value, which is a module level constant. So I had a method that would return a constrained vector, and since the vector itself was a plain attribute, it felt right to flatten this constrained version of a vector via a property. Now I find there are advantages to having the MAX value be sensitive to certain conditions of the caller. And I want the caller to call the method with a MAX value that is appropriate to its needs. So I have no choice but to de-propertize the method. In the case of Kirby's Triangle angle, might it be wise to avoid the possibility of exploding any spacecraft, and insist that a contract be formed with the caller so that the caller must specify whether they are expecting the return value in radians or degrees? Seems maybe yes. But that requires a parameter, though changes nothing else about what the angle is in relation to the Triangle. So the UAP is not getting through here. Art ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Re: [Edu-sig] Uniform Access Principle confusion
> In the case of Kirby's Triangle angle, might it be wise to avoid the > possibility of exploding any spacecraft, and insist that a contract be > formed with the caller so that the caller must specify whether they are > expecting the return value in radians or degrees? Seems maybe yes. But > that requires a parameter, though changes nothing else about what the > angle is in relation to the Triangle. > > So the UAP is not getting through here. > > Art Note that passing an argument is not the only way to tell an object stuff like "my preferred unit of measure." That could also be regarded as a change in state, and be handled with another attribute, e.g.: >>> Triangle.anglemeasure = 'degrees' # set default class attribute >>> mytri = Triangle((30,60,90)) # instantiate using degrees >>> mytri.anglemeasure = 'radians'# change state on instance >>> mytri.C # consult angle 1.5707963267948966 >>> mytri = mytri * 2 # double size -- angles unaffected >>> mytri.anglemeasure = 'degrees'# change reporting unit >>> mytri.C # consult angle (again) 90.0 I'm not claiming this approach is in any ultimate sense better. I'm merely pointing out that this is another approach. Kirby ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
[Edu-sig] Low Enrollments
Hello EDU-SIG, CS enrollments seem to be dropping drastically everywhere. Many factors probably are at fault (dot-com bust, off-shoring hype), but there seem to be others. One in particular is that so few HS graduates seem ready analytically to join in. This is a problem to discuss elsewhere, I suppose, but I was wondering if you could point me to info (such as cp4e - I've only heard the name) that can be considered to help the cause. I'd like to know how to better recruit from the secondary schools, and also how to influence them to better prepare students. I know Kirby is deep into this. I'd like to know what I can do as a college professor. The demand for CS expertise isn't going away, and the jobs are starting to come back now, but with fewer locals to fill them, off-shoring will only increase. I'd like to see our citizens consider CS as viable as business or law. I mean, someone has to do the "real work" :-). Honestly, I can't imagine a field that better combines both sides of the brain with a service ethic and a dimension of fun than CS. But it looks like so much nerd-ness or drivel to the uninitiated. Any ideas would be appreciated. -- Best regards, Chuck ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Re: [Edu-sig] Low Enrollments
On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: > Hello EDU-SIG, > > CS enrollments seem to be dropping drastically everywhere. Many > factors probably are at fault (dot-com bust, off-shoring hype), but > there seem to be others. One in particular is that so few HS > graduates seem ready analytically to join in. > ... > > Honestly, I can't imagine a field that better combines both sides of > the brain with a service ethic and a dimension of fun than CS. But > it looks like so much nerd-ness or drivel to the uninitiated. > > Any ideas would be appreciated. I noticed a profound shift occur at Glencoe High School in Hillsboro, Oregon between 1985 (when I graduated from there) and 1995-1998 when I visited there to give talks for national engineering week. In one memorable experience, I spoke to the Biochemistry students, in the same classroom where I had taken that same class a decade earlier. These were the top 20 math and science students in the school. I asked how many of them wanted to become engineers. I got zero responses. I was floored. Based on my experience of the past, I had expected least a handful! I said "engineering is a good career, it pays good money, why are you not interested?" One kid raised his hand and said "It's too hard." Another volunteered, "Yeah, I have a friend who is an engineering student and he has to work all the time." I was dumbfounded. It appeared as if these kids thought there was a hard road to success and an easy road to the same success, so planned to take the easy road. Chuck, we are up against a more difficult problem than just making CS look cool. CS is fun, of course, but it is also hard work, there is no disguising that. If the rising generation doesn't have the work ethic, there is really no substitute. In my experience, I noticed that among the successful American-born engineering students, a significant number of them had been raised on farms, where they had to get up at 5am every morning to milk the cows. In other words, they knew how to work. So what did I do? When I lived back in Oregon, we moved out to the country and we had goats and chickens, and my boys went out with me morning and evening to milk the goats. Now that we live in a different environment in North Carolina, I have taken a different route and have the boys help me in our home publishing business. They have gotten pretty good at binding books. (Just a little plug: anyone who buys my book is contributing to my children's education in multiple ways.) David H -- David Handy Computer Programming is Fun! Beginning Computer Programming with Python http://www.handysoftware.com/cpif/ ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Re: [Edu-sig] Low Enrollments
Hello David, This makes so much sense it's scary. Except I don't know how to explain myself. I was a deprived city-slicker who did not know how to work. College woke me up. But to be brutally honest, I didn't have anything else to do but go to college, and I had no other area of strength besides mathematics, so that's where I started. Not typical, I suppose. But I totally agree - the work ethic is diminishing. But if we can "wake some up" like I was awakened, we can grab a few good ones, no? Now that you mention it, we took special pains to teach our children to work (without a farm - they had to earn what they got). My son is now a stellar Ph.D. candidate in M.E. at U. of Mich. My daughter is a devoted mother of two and a culinary artist. Food for thought (sic). As an interesting data point, most of our students are older and/or married and/or working, so we're doing okay there. It's getting them into the program in the first place that's the problem. But I'm sure that across the country many bail because of the work issue. Good insight. Wednesday, October 12, 2005, 9:45:02 PM, you wrote: DH> On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: >> Hello EDU-SIG, >> >> CS enrollments seem to be dropping drastically everywhere. Many >> factors probably are at fault (dot-com bust, off-shoring hype), but >> there seem to be others. One in particular is that so few HS >> graduates seem ready analytically to join in. >> DH> ... >> >> Honestly, I can't imagine a field that better combines both sides of >> the brain with a service ethic and a dimension of fun than CS. But >> it looks like so much nerd-ness or drivel to the uninitiated. >> >> Any ideas would be appreciated. DH> I noticed a profound shift occur at Glencoe High School in Hillsboro, Oregon DH> between 1985 (when I graduated from there) and 1995-1998 when I visited DH> there to give talks for national engineering week. In one memorable DH> experience, I spoke to the Biochemistry students, in the same classroom DH> where I had taken that same class a decade earlier. These were the top 20 DH> math and science students in the school. I asked how many of them wanted to DH> become engineers. I got zero responses. I was floored. Based on my DH> experience of the past, I had expected least a handful! I said "engineering DH> is a good career, it pays good money, why are you not interested?" One kid DH> raised his hand and said "It's too hard." Another volunteered, "Yeah, I have DH> a friend who is an engineering student and he has to work all the time." I DH> was dumbfounded. It appeared as if these kids thought there was a hard road DH> to success and an easy road to the same success, so planned to take the easy DH> road. DH> Chuck, we are up against a more difficult problem than just making CS look DH> cool. CS is fun, of course, but it is also hard work, there is no disguising DH> that. If the rising generation doesn't have the work ethic, there is really DH> no substitute. DH> In my experience, I noticed that among the successful American-born DH> engineering students, a significant number of them had been raised on farms, DH> where they had to get up at 5am every morning to milk the cows. In other DH> words, they knew how to work. So what did I do? When I lived back in DH> Oregon, we moved out to the country and we had goats and chickens, and my DH> boys went out with me morning and evening to milk the goats. Now that we DH> live in a different environment in North Carolina, I have taken a different DH> route and have the boys help me in our home publishing business. They have DH> gotten pretty good at binding books. (Just a little plug: anyone who buys my DH> book is contributing to my children's education in multiple ways.) DH> David H -- Best regards, Chuck ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Re: [Edu-sig] Low Enrollments
On 10/12/05, David Handy <[EMAIL PROTECTED]> wrote: > On Wed, Oct 12, 2005 at 08:25:56PM -0600, Chuck Allison wrote: > > > > CS enrollments seem to be dropping drastically everywhere. Many > > factors probably are at fault (dot-com bust, off-shoring hype), but > > there seem to be others. One in particular is that so few HS > > graduates seem ready analytically to join in.. > > I noticed a profound shift occur at Glencoe High School... > ... > I asked how many of them wanted to > become engineers. I got zero responses. I was floored. > ... > Chuck, we are up against a more difficult problem than just making CS look > cool. CS is fun, of course, but it is also hard work, there is no disguising > that. If the rising generation doesn't have the work ethic, there is really > no substitute. > > In my experience, I noticed that among the successful American-born > engineering students, a significant number of them had been raised on farms, > > David H chuck, david, yes, this is very disturbing indeed. as a society, i think we are definitely "falling behind." it's true that most HS grads are *not* ready for the rigors of engineering in college. i too, graduated HS in 1985 when it wasn't all that bad. when i completed grad school 10 years later, i did notice that the *majority* of graduate students in the CS dept were born overseas. it's not that we *don't* have the talent, but that they have been diverted elsewhere. sadly, i don't see this trend reversing anytime soon, and yes, this will make offshoring even more attractive to employers. i (mostly) joke that in 20 years from now, i'll be flipping burgers. i hope that it doesn't get to that point. if we lose our ability to innovate, that's the end of the US as we know it. this country is founded on innovation and hard work -- does this come from the farmland too? i feel that we are definitely losing the edge in everything science and math-oriented. people are not taking care of themselves... we are getting fat and lazy, letting other people do the dirty work for us. in a way, this applies to your argument. why should i do the hard work when someone else will do it for me (and more cheaply). we can only slow it down with wonderful tools like python. jeffrey elkner and other educators have seen better retention rates in their classes, but still, i don't want this to be just a stem in the tide. somehow, good-paying, hard-working, and smart need to be attractive to people as something that they want to be. we don't offshore our medical services right? there still need to be doctors; their presense is locally required. unfortunately, that isn't necessarily true for engineering. oh, and to answer your original inquiry, here's a link to CP4E: http://www.python.org/cp4e/ -- wesley - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - "Core Python Programming", Prentice Hall, (c)2006,2001 http://corepython.com wesley.j.chun :: wescpy-at-gmail.com cyberweb.consulting : silicon valley, ca http://cyberwebconsulting.com ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig
Re: [Edu-sig] Low Enrollments
>I noticed a profound shift occur at Glencoe High School in Hillsboro, > Oregon between 1985 (when I graduated from there) and 1995-1998 when > I visited there to give talks for national engineering week. In one > memorable experience, I spoke to the Biochemistry students, in the > same classroom where I had taken that same class a decade > earlier. These were the top 20 math and science students in the > school. I asked how many of them wanted to become engineers. I got > zero responses. I was floored. Based on my experience of the past, I > had expected least a handful! I said "engineering is a good career, > it pays good money, why are you not interested?" One kid raised his > hand and said "It's too hard." Another volunteered, "Yeah, I have a > friend who is an engineering student and he has to work all the > time." I was dumbfounded. It appeared as if these kids thought there > was a hard road to success and an easy road to the same success, so > planned to take the easy road. Hmm, is this just the "kids today are lazy and didn't work as hard as I did in my day" argument? I don't buy that one. Kids today are no less lazy than at any other time in history. Perhaps they have more opportunity for leisure, but many still say they want to become doctors or nurses or lawyers --- careers that require lots of education and hard work. I think when a kid says "engineering is too hard", they are also saying that they don't see the rewards of engineering as very significant. I really don't see kids as being afraid to work hard; quite the opposite, I am often amazed at how hard students will work on something that is interesting and valuable to them. Doctors and nurses make a difference every day. This is why they put up with grueling work schedules. They love their jobs, and they see first-hand the difference they make. The rewards are tangible and obvious ("for every death a birth, for every sickness a cure"). Do programmers make a difference? Not according to the typical CS PR: programming is something that is "fun", "cool", and so easy to do that anyone can master it. You know, like bowling. A fun, rewarding activity that anyone can get good at with a little practice. I think the rhetoric of "cool" and "fun" is a fine way to get younger kids interested in programming, but it depresses me to see university CS programs advertise the same way. It's like a medical school enticing students to take their program by showing you how cool it is to be a Beverley Hills plastic surgeon. I think CS is a field that makes a difference; I just don't think CS educators (such as myself) communicate this very well. Or maybe the answer is simply that the 50-year bubble that CS has been riding has finally popped? Maybe we are just in the middle of an inevitable "correction"? It's not like CS saw the web coming! Toby ___ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig