ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Google+ ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

Search in Book Reviews

The ACCU passes on review copies of computer books to its members for them to review. The result is a large, high quality collection of book reviews by programmers, for programmers. Currently there are 1918 reviews in the database and more every month.
Search is a simple string search in either book title or book author. The full text search is a search of the text of the review.
    View all alphabetically
Title:
Engineering Programming - C, Matlab, Java
Author:
M. Austin&D. Chancogne
ISBN:
0 471 00116 3
Publisher:
Wiley
Pages:
656pp
Price:
£22-50
Reviewer:
Burkhard Kloss
Subject:
engineering
Appeared in:
11-6
This is an introduction to programming for engineering students. Starting with a brief introduction to computer concepts and software engineering, it consists mainly of engineering oriented tutorials for C, Matlab and Java.

The C tutorial is the longest and most structured; its ten chapters are a reasonably comprehensive and readable introduction to C. All the major topics are covered, from basic data types via control flow, functions, pointers and arrays to dynamic memory allocation. The only topic that seems short changed is structures: The only reference I can find to them is in the operator table. Checking back with the authors revealed that this was dropped because of severe space restrictions;

Still, the tutorial is readable and the exercises well thought out and relevant to engineering problems. There is also a pleasantly surprising attention to detail: For example, the authors explain the effects of numerical cancellation and how to avoid it where possible. On the other hand, the authors are a little sloppy in other places, for example by missing

#include
s of

math.hand the - IMHO - inappropriate use of
float
rather than
double
. Slightly more worrying though is that they ignore buffer sizes when reading input with
scanf
, although, sadly, this mistake is so common that it is almost idiomatic.

The authors encourage the use of 'Hungarian' notation; while its usefulness is debatable, it is at least applied consistently throughout the code.

The Matlab tutorial is much shorter than the C tutorial, but is kept in the same readable style. Again, the exercises are well thought out and relevant to the audience. While my personal experience with Matlab is limited, the technical content seems fine and the tutorial should be more than sufficient to turn the reader into a productive Matlab user.

The Java tutorial is only slightly longer than the Matlab one (155 vs. 127 pages) and it covers a lot of ground. After rushing through the basic concepts of Object Orientation, it covers most of the core of the Java language, including applets and application, as well as the Abstract Windowing Toolkit (AWT). This means that, by necessity, some of the explanations are a little shorter than I feel they should be for a tutorial. The space taken by the very brief appendices on introducing Unix and the C standard library could have been put to better use here.

The source code for the examples can be downloaded from the authors' web site athttp://www.isr.umd.edu/~austin/book.html

In summary, this book attempts to cover an awful lot of material in limited space and, as a result, sometimes falls short of its aims. Like most technical books, it would also have benefited from some further technical review. That notwithstanding, a knowledgeable lecturer

unfortunately those are few and far between which sort of vitiates the rest of this sentence - Francisshould easily be able to circumvent its small shortcomings in a taught course and for£22.50 it provides excellent value for money.