Courses and Texts


BMES 514, Computer Applications for Biomedical Research


Brooks, David R., An Introduction to PHP for Scientists and Engineers
Springer-Verlag London Limited 2008
ISBN:978-1-84800-236-4, e-ISBN: 978-1-84800-237-1

Brooks, David R., An Introduction to HTML and JavaScript for Scientists and Engineers
Springer-Verlag London Limited 2007
ISBN: 978-1-84628-656-8, e-ISBN: 978-1-84628-657-5

"This very short text book … is designed for well-motivated beginners who want to learn to program. It could provide an introduction to Web creation and programming for anyone … . The book contains several exercises for each chapter, all of them gathered together in a separate section at the end of the book. … overall, this is a really nice little book and, given its size, could be kept on the desk as a very basic reference to HTML and JavaScript." (J. Miller, Computing Reviews, January, 2008)

Link to all code examples in this book.
Link to errata for this book
Link to a table of color names supported by major browsers.

Brooks, David R., An Introduction to MAPLE for College Algebra
1997, Brooks/Cole Publishing Company. ISBN 0-534-34757-6 (out of print?)

Brooks, David R., Problem Solving With Fortran 90 for Scientists and Engineers
1997, Springer. ISBN 0-387-98229-9

This book appears still to be available from Amazon, used and perhaps new. Here is the verbatim text from the only review posted on Amazon.

"Brooks gives you an introduction to the idea of using a computer to solve numerical problems. No previous experience with computing is assumed. He starts from scratch by explaining enough about the structure of a computer so that you can appreciate what is required in coding. He chose Fortran 90 as the language of instruction. There is no user interface. Which certainly does simplify the text. He focuses on the intrinsics of taking a problem, finding a [possible] solution, and coding that solution.
      Quite aside from no user interface, Fortran is a procedural language. So the book goes into how to decompose a solution in this context. You should be aware that this can lead to scaling problems if your solution code gets large. Which is why object oriented approaches are preferred. But for the problems used in the text, and for those you are likely to encounter, this should not be an issue."
[By "no user interface," I assume the reviewer is referring to the fact that the Fortran environment as discussed in the book is just a text interface, without any graphical or other Windows-like interface.]

Brooks, David R., C Programming: The Essentials for Engineers and Scientists
1999, Springer. ISBN 0-387-98632-4
Code from C book
Data files for C book

This text offers an introduction to procedural programming using the C language. It is directed at engineering and science students who have not previously had a formal programming course. It stresses generally applicable problem solving skills and includes an algorithm development language, dozens of complete C programs, and exercises that address the kinds of computational problems students will find in science and engineering courses. Because of its intended audience and purpose, the text presents a subset of the C language. Thus it is neither intended as nor suitable as a C language reference manual.

This book is still available in 2007. The link to this book at Springer has recently been updated.

Here are, verbatim, all reviews posted on Amazon as of June, 2007:

"This is possibly the best book I've ever seen for engineers and scientists trying to learn how to program in C. However, supplementary material that aids in learning examples found in this book no longer exist. I wrote the author an email asking why his website for his c-code examples no longer exist, and I was informed that the book is "too old!" Without the supplementary material I need, I'm sure I will have a difficult time learning chapter 3 when it requires c-code created in chapter 6."
[The links given above solve this reviewer's problem.]

"The easiest way to learn C programming., September 9, 1999...
Most C-programming books are very thick and the authors spend a lot of pages in explaining historical and detailed aspects of the C-language. As a chemist I often get frustrated when reading these type of books since it takes about 250 pages before they e.g. explain how to read or write to a file. When you finish the books you are not at a level of solving real problems in C. C programming: The Essentials for Engineers and Scientists by David R. Brooks goes, as the title says, directly to the essentials for a scientist. The book is based on a five-step problem solving procedure throughout the book. This way of structural-thinking, which is often neglected in other books, helps the reader to get a good programming habit in any programming language. Since the book is very problem oriented, the author is able to cover more advanced programming topics than other C-books. The book is designed for undergraduate studies without any knowledge in programming, but may be used by anyone interested in learning C. Many programming examples and exercises are taken from the field of chemistry and physics and thus, the book is perfect as a introduction course in C for chemists and physicists."

"It is very good book for beginners that need to make a C program not very complicated but quickly to solve a problem."

"Having been a programmer for over a decade I recently came across David Brooks' book while working on code to calculate integrals based on the Trapezoidal Rule and Simpson's Rule. Apart from finding what I needed in "C Programming: The Essentials for Engineers and Scientists ..." I also found the text to be an overall treasure of programming specifics. Unlike the bibles of programing out there, this one tackles a lot of hands-on real-life programming problems with specifics on design and integration of mathematical equations into code. I rank this book on par with my copy of "Numerical Recipes in C" for its utility. Looking back over my programming career I wish I had read this book first. It covers numerous examples of coding quirks that I had to learn the hard way, and it covers them from the perspective of a scientist who absolutely must get it right. Many of the intro texts are written by scientists who are so far along in their skill set, they overlook the mundane quirks that tend to trip up beginners. David Brooks explains it from scratch - just as a newbie will encounter it. Nothing about the c programming environment is overlooked."