[comp.lang.c] Texts on software engineering fundamentals

isaac@cbnewsc.ATT.COM (isaac.j.champagne) (03/29/89)

I'm an electrical engineer, but I have had a great deal of 
exposure to writing applications programs in C.  I'd like to do
a little reading to strength my knowledge in software, especially
since (like most EE's who went to school in the late 70's) I
learned programming via FORTRAN and microprocessors.

So:
 1.What are some good books that would provide:
	-Good info on fundamental software engineering concepts
	-Basics in software algorithms, data structure concepts,
	 programming concepts

 2.What do you think are the really important fundamemtal concepts for a 
   programmer to understand?  Software algorithms?  Paridgms (?)?

 3.Are there any computer science books that provide good examples
   (preferably in C) instead of "useless" theory?

Isaac C.
ixn5c!isaac

gwyn@smoke.BRL.MIL (Doug Gwyn ) (03/29/89)

In article <344@cbnewsc.ATT.COM> isaac@cbnewsc.ATT.COM (isaac.j.champagne) writes:
> 1.What are some good books that would provide:
>	-Good info on fundamental software engineering concepts

There are several.  If you haven't read (and understood!) Kernighan
and Plauger's "Software Tools", do so before digging into more
academically oriented texts.

>	-Basics in software algorithms, data structure concepts,
>	 programming concepts

Again there are several.  Sedgewick's "Algorithms" is probably a
good starting place.

> 2.What do you think are the really important fundamemtal concepts for a 
>   programmer to understand?  Software algorithms?  Paridgms (?)?

I would say methodology for analyzing and decomposing problems is more
important than particular algorithms or coding techniques.  You need a
broad knowledge of what is doable and what the various techniques are
good for (that's what you should gain from studying an algorithms text),
but then to tackle an actual programming project the most important step
is to figure out what is really needed and how to organize a good
solution.  Implementing the solution once designed is relatively easy.

> 3.Are there any computer science books that provide good examples
>   (preferably in C) instead of "useless" theory?

Most academic texts use Pascal or some language newly invented by the
book's author rather than C.  Also, it is the theory that is most
important, so such books normally emphasize that over practical details.