[Edu-sig] Python as a first language for computer sciencist

ajsiegel@optonline.net ajsiegel at optonline.net
Thu Oct 20 20:43:31 CEST 2005


----- Original Message -----
From: Scott David Daniels <Scott.Daniels at acm.org>
Date: Thursday, October 20, 2005 11:51 am
Subject: Re: [Edu-sig] Python as a first language for computer sciencist

 
> OK, here's the other side of that coin: unit tests are just as 
> malleableas the rest of the code.  If your first cut is wrong, you 
> change the
> tests.  You can teach the tests as a way of breaking down a 
> problem into
> parts.  A Unit test is a lemma on the way to a proof.  Not much by
> itself, but easier to attack than the whole proof.

Can't argue.

Fully intelligently, that is.

OTOH, there doesn't seem much in the world of programming
where the coin has less than two sides.

As a practical matter, in some circumstances, I think that too
much attention to testing and documentation - up front - 
could get one over-invested in bad ideas, and is the anti-thesis
of methodology that might be associated with agility.

For myself - valuing intuition as part of the
development process - it is not unusual, at an early stage
of some "innovation" to my code, to not be in a position
to explain to myself precisely what avenue I have gone down
and why,  much less to somebody else.

Hopefully, I get there eventually - and, if we have a keeper -
it is indeed a good discipline to get it down, then. 

Ultimately I do take testing and documentation seriously 
enough - I think.   

Were PyGeo not, for example, dynamic by design I could not
accept the possibility that my visual tests would be conclusive
enough and not lead to false positives.  But since I have the
ability to put constructions through dynamic paces, and push
them to extremes, I am able to become satisfied.

Of course this means eye-balling - not very sophisticated
by usual standards.  But I am not convinced there is
a better way to go that is proportional to the application itself.

Naive testing, appropriate to the school of Naive Programming.

But if we agree that there are (at least) 2 sides to many of these
coins, should we not resist the temptation to present things otherwise.

CS is not S proportional to the extent that it cannot resist the temptation
to imply there is more S to it than there demonstrably is.

IMO.

Art


 
 



More information about the Edu-sig mailing list