Re: [Edu-sig] Microsoft's KPL

2005-10-12 Thread Kirby Urner

> 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

2005-10-12 Thread Arthur
> 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

2005-10-12 Thread Kirby Urner
> 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

2005-10-12 Thread Chuck Allison
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

2005-10-12 Thread David Handy
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

2005-10-12 Thread Chuck Allison
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

2005-10-12 Thread w chun
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

2005-10-12 Thread Toby Donaldson
>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