[Edu-sig] How do we tell truths that might hurt

Dean Lake deanlake at fbeedle.com
Wed Apr 21 20:11:35 EDT 2004


Imagine yourself performing heart surgery on someone. Could you do it? 
Sure, if you studied medicine for several years, witnessed a few surgeries, 
and had all the tools you needed at hand.

But we don't have time to learn all the things that would be beneficial to 
ourselves - not even lifesaving tasks. We therefore depend on others to do 
it for us - we have to. More complicated things are left to those who are 
compelled to learn them. Less complicated things can be learned by those 
who are compelled to learn them because of a practical need, rather than an 
insatiable curiosity/love for a difficult subject. I am able to fix a lot 
of the less difficult problems with my car because of the practical and 
monetary need, not because of any particular love of reading manuals or 
learning auto mechanics.

Learning to print 'Hello World' in a programming language is comparable 
learning the Latin name for 'foot' - interesting, but not useful unless the 
knowledge is built into something more robust. In contrast, building a web 
page by cutting and pasting HTML tags and scripts is practical, fast, and 
easily learned. Perhaps it is like learning to take over-the-counter 
medicines for minor ailments - you're not sure how they work, but it saves 
you money and time spent at the doctor's.

The question here seems to be this: Since all disciplines can argue a 
practical value for themselves, and people do not have the time nor the 
capacity to learn all disciplines, how do we choose which disciplines are 
the most valuable? We already know programming IS important. Would you have 
seen any programming in the curriculum 30 years ago? No, and the fact that 
it has taken a prominent position in the university in such a short period 
of time proves its practicality. This surge was not initially caused by 
professors arguing for these courses. Students demanded the courses first, 
then came the argument from faculty to supply these courses. Winning 
arguments are a byproduct of a practical need. Our subjects choose us.

When a discipline yells out that it needs to be taken more seriously by 
other disciplines, it is usually a cry for the impractical. Asking a 
Literature student to write a useful, original program in C++ is like 
asking a CS student to read the cannon of Medieval and Elizabethan 
Literature and write about it intelligently. Both students would argue that 
the request is impractical in relation to their academic interests, a waste 
of their precious time. They would both be right. On the other hand, asking 
the Lit student to learn a little HTML/JavaScript and the CS student to 
read Hamlet is less likely to meet resistance - both have immediate 
practical results and can be accomplished in a short time. Also, they both 
learn the value of the other discipline without coming close to mastering it.

An example was brought up that a Lit student could use programming to 
search texts for semantic patterns. I agree, but wouldn't it be easier and 
time-saver to simply work with someone who knows programming to build this 
program? Both people would be better off for it. Programming needs to 
become much more understandable (and much quicker to accomplish) for a Lit, 
Med, or Law student to think it practical to learn. Other disciplines, 
however, would be more receptive because the practical need is more 
tangible: Business, Chemistry, Engineering, etc. Still, even those students 
would wish programming was easier and quicker. Computer programming is the 
only subject where you have to learn how to teach a machine something you 
already know how to do. Who in their right mind would want to do that? 
Mantra: 'Leave it to the blacksmith to build the tools. We will describe to 
him what we need.'

We all want to spend our time studying what we REALLY want to study. The 
less time having to learn peripheral subjects the better. Do Java 
programmers want to spend their time learning machine language? Doubtful. 
Just give us enough info so we can continue on with what we really want to 
do, thank you.

Can we invent an even higher level language? Perhaps a cut and paste method 
is simply the best that can be hoped for the Arts & Letters student who 
knows little of the basic tenants needed to create a program - like 
mathematics and logic - and does not have the time to learn them. Even 
learning to write a good Python program takes a lot time, effort, and 
learning. Likewise, perhaps the most we can hope for from the CS student is 
a reading of just a few of the classics, but not a scholarly written 
analysis of the works.

HTML has become ubiquitous because we all have something to say, and it 
gives us the tool to say it on a wide stage and is very easy to learn and 
use. Most A&L students, when pressed, would have a difficult time thinking 
of a programming task for their computer to do that is not already 
available to them. If they could think of something they would go see the 
blacksmith - but only if the need was dire.

So I really wouldn't worry about getting every student on board the 
programming train. They will jump on when they have the need, and jump off 
when they don't. But the slower the train, the easier to make those leaps. 
(I'm looking for more metaphors to throw in here). I guess this thread is 
about finding a way to put on the breaks, and I am here stating the obvious.

I have this reoccurring nightmare where I show up to the hospital with a 
serious pain. The doctor hands me a scalpel and copy of Gray's Anatomy. 
"You knew you were eventually going to have to learn this," he sneers.

You never know when you may be the scoffee.

Those who hear not the music must think the dancers mad.
     - Proverb

Dean (a non-programmer, of course)
/Just my thoughts. Inert, not flammable.


At 10:36 AM 4/21/2004, ajsiegel at optonline.net wrote:

>To me the most significant aphorism from Dijkstra's essay:
>
>"How do we tell truths that might hurt?"
>at:
>http://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html
>
>is the second:
>
>"""
>The easiest machine applications are the technical/scientific computations.
>"""
>
>In advocating math/science explorations as the focus in introductory level 
>programming education it might well sound like one in advocating some kind 
>of ideologoical sense of rigour over a more gentle and humane approach to 
>the subject of programming.  But if one accepts that:
>
>The easiest machine applications are the technical/scientific computations.
>
>one is simple advocating starting at the beginning.  And demonstrating and 
>elucidating and empowering folks to handle the easy before one attempts to 
>ask them or expect them to approach the more difficult.
>
>And for those that go no further, they will have learned to do some 
>actually useful things, in a programming language..
>
>In other realms, the path to be able to do something actually useful is 
>much longer.
>
>Yes, a Literature student might be enticed to know that programming could 
>be made useful in finding semantic patterns in the works of Joyce. The 
>problem is that its hard.  Much harder than using numeric and geometric 
>concepts as a jumping off point.
>
>I, for one, never expect to understand how to compile a pattern using the 
>re module. (if I even stated that lack of understanding correctly).
>
>Art
>
>
>
>
>_______________________________________________
>Edu-sig mailing list
>Edu-sig at python.org
>http://mail.python.org/mailman/listinfo/edu-sig




More information about the Edu-sig mailing list