comp.lang.ada
 help / color / mirror / Atom feed
From: mfeldman@seas.gwu.edu (Michael Feldman)
Subject: Re: Ada books for undergraduate computer science
Date: 4 Jun 91 19:45:38 GMT	[thread overview]
Message-ID: <3266@sparko.gwu.edu> (raw)
In-Reply-To: 2335@atlas.cs.nps.navy.mil

In article <2335@atlas.cs.nps.navy.mil> erickson@taurus.cs.nps.navy.mil (David Erickson) writes:

>A lot depends on the level of students taking CS1, but linked lists are
>introduced in every CS1 course and text I am familiar with.  Lomuto
>also emphasizes recursion, which is normally introduced in CS1.  At some
>point, we expect our students to internalize these techniques, and add
>them to their repertoire of problem-solving methods.  Whether that
>happens in CS1 or 2 depends on the students and the instructor.  At
>any rate, I think that Lomuto's text is a good supplementary text, and
>may help catalyze that process. 

Well, your students must be better than mine. I've just checked my ACM CS1
curriculum guide (Koffman, Miller, and Wardle, CACM Oct. 84, p. 998 ff.)
which is the nearest thing to a "standard"  curriculum. True, it's showing
its age, but is still used as a guide by authors and editors. This paper
does _not_ recommend teaching recursion or linked structures. (I'm thinking
about typing the whole list of topics in at some point, but won't bore you 
all with it now). CS1 students get "up to" using arrays, simple sorting and
searching, and arrays of records, in the data structures area.

Indeed every Pascal-oriented CS1 book I've seen contains recursion and
linked structures - at the end. Koffman's Pascal 3rd edition and Turbo 
Pascal 2nd edition books discuss this in the preface, noting that the book
"now" (late editions) includes "most of the recommended CS2 topics."
Dale/Weems introduce linked lists 1 chapter from the end, again as something
advanced students can move into. Their recursion chapter is divided in two:
half using only simple types, half using structured types.

In outlining the Feldman/Koffman collaborative effort, we both agreed that
this stuff is reached by very few courses; the editor agreed that we should
include a recursion chapter but _not_ get into linked structures; only
one of ten reviewers in detail of the outline and manuscript suggested that
we put linked structures back, and that person doesn't teach CS1.

Pascal (even with units) is a sufficiently small language that a single book
can easily cover all of it. So there's no point in gratuitously leaving a topic
out, even if most students will never get to it in one semester. An Ada book
intended for students at this level _must_ leave some things out, else when
you add in the pedagogy the book would weigh a ton and cost a mint. We
decided that unconstrained array types and simple generics were well worth 
putting in, but that derived types and related things, linked structures,
and tasking are topics best left to the "next" book in the curriculum.
Reviewers - who knew both their Ada and their realistic CS1 classes - had
no disagreement with these design choices (except for thte one person
mentioned above).

I hope this doesn't sound defensive; I just thought I'd respond with some
personal experience.

The ins and outs of book writing are - no doubt - interesting to only a few
folks on the net, so I'll be glad to carry this on by e-mail.

Mike

      reply	other threads:[~1991-06-04 19:45 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-05-31  1:38 Ada books for undergraduate computer science Michael Feldman
1991-05-31 16:11 ` David Erickson
1991-06-01  2:30   ` Michael Feldman
1991-06-01 21:30     ` Gregory Aharonian
1991-06-01 21:07       ` Michael Feldman
1991-06-03 10:47         ` Markku Sakkinen
1991-06-04  1:22           ` Michael Feldman
1991-06-04 16:51     ` David Erickson
1991-06-04 19:45       ` Michael Feldman [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox