[net.cse] CS and teaching programming

rcd@opus.UUCP (Dick Dunn) (12/19/84)

A side issue from the "Teaching Programming in High School" discussion--
Brian Pinkerton writes:
> 
> Also important, I think, is the ability to break down an idea into its
> components.  This is why I DON'T advocate teaching programming
> languages to 1st semester CS students.  What good does teaching some
> pascal do if they can't make use of its structured nature?

The good that it does is to give them something tangible.  It is almost
always a mistake to embark on teaching a new discipline with a large amount
of theory but little connection to pragmatics.  It's possible to do it with
good upper-division students who've had a lot of practice in abstract
reasoning, but I've seen it fail miserably in lower-division courses.  (A
standard example is that a lot of engineers don't get much real grasp of
calculus until they start using it in their physics courses.)

Another advantage is that a programming language (if it's a decent one)
provides a nearly ideal notation for discourse.  Discussing programming
concepts with Pascal is far easier than discussing them with English, in
much the same way that discussing the concepts of calculus is easier with
the notations of algebra supplemented by limits, derivatives, and
integrals.  (There's an excellent statement by Iverson in "A Programming
Language" to the effect that the effort involved in mastering a suitable
notation is well worthwhile.)
-- 
Dick Dunn	{hao,ucbvax,allegra}!nbires!rcd		(303)444-5710 x3086
   ...Nothing left to do but smile, smile, smile.