Newsgroups: comp.edu,comp.lang.ada,comp.lang.c++,comp.lang.modula2,comp.lang.scheme,comp.lang.pascal.ansi-iso
Path: cantaloupe.srv.cs.cmu.edu!rochester!udel!delmarva.com!newsfeed.internetmci.com!salliemae!uunet!in1.uu.net!mole-end!mat
From: mat@mole-end.matawan.nj.us
Subject: Re: Repost of the Reid Report #12; CS1 languages
Message-ID: <1995Jul18.060439.6202@mole-end.matawan.nj.us>
Summary: On textbooks
Organization: :
References: <3u0r8m$jeo@solaris.cc.vt.edu> <DBMpC3.D5A@beaver.cs.washington.edu> <3u3kg5$dbm@felix.seas.gwu.edu>
Date: Tue, 18 Jul 1995 06:04:39 GMT
Lines: 37
Xref: glinda.oz.cs.cmu.edu comp.edu:13387 comp.lang.ada:32834 comp.lang.c++:139114 comp.lang.modula2:12123 comp.lang.scheme:13255 comp.lang.pascal.ansi-iso:93

In article <3u3kg5$dbm@felix.seas.gwu.edu>, mfeldman@seas.gwu.edu (Michael Feldman) writes:
> In article <dewar.805640507@gnat>, Robert Dewar <dewar@cs.nyu.edu> wrote:
 
> in the textbook literature is no longer at CS1/CS2 level; there are
> a fair number of respectable Ada-using texts at that level, including
> new Ada 95 books or (more commonly) revisions for Ada 95.
> 
> The hole is in the more advanced texts, in compilers, operating systems,
> file systems, etc. In those "markets", I see little evidence of
> Ada activity; there are texts, but I am aware of no revision efforts.

As far as I am concerned, the hole is much more basic than that.

Nobody thinks of teaching an EE student electronics before circuit theory,
or letting him loose in the lab before he has mastered DC and AC circuit
analysis.

But we throw programming languages, data structures, and algorithms at
CS students, and worse, we do it in a way that could be calculated to
damage them.  Not by teaching imperfect programming languages, but by
emphasizing clever algorithms and data structures _before_ we start to
talk about programs as models, before we discuss Entities and Relationships,
before we teach them (if ever we teach them) about the difference between
value and identity (or object) representation semantics, before we teach
them (if ever we teach them) about the distinction between static and
dynamic models, before we talk about relationship-as-representation (what,
after all, is an ordered linked data structure?), before we teach them
(if ever we teach them) about cohesion and coupling _from the problem_
into the solution.

I'd really like to hear R.B.K. Dewar's views on this issue.  (Even if he
shoots me down.)
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile
 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
	(Training and consulting in C, C++, UNIX, etc.)
