A complete and authoritative introduction to computer programming in C,
|
|
Title: "C for Engineers and Scientists: An Interpretive Approach"
Author: Harry H. Cheng Publisher: McGraw-Hill, Inc. Date: March, 2009 ISBN: 0073376051 ISBN-13: 978-0073376059. After students learn the materials presented in this book, they shall have a solid foundation to tackle most difficult programming tasks in the real world. Preface and a chapter on Introduction to Fortran in comparison studies with C in PDF files are freely available for anyone from the McGraw-Hill website for the book at http://www.mhhe.com/cheng You can also order the hard copies of the book through bookstores or local representatives using the ISBN 1260139069 or ISBN 9781260139068. A translation edition in Chinese published by the Higher Education Press of China. A white paper on Ten Reasons to Teach and Learn Computer Programming in C. A white paper on C for the Course, ASME Mechanical Engineering Magazine, September, 2009, pp 50-52. on line
A white paper on why using Ch to learn C. Ch Student Edition is free for regsitered students in educational institutions. The latest version of Ch Student Edition can be download here.
|
|
The book focuses on systematic software design approach in C for applications in engineering and science following the latest standard developed by the ANSI and ISO C Standard Committees called C99, which resolved many deficiencies of C89 for applications in engineering and science.
The book includes a companion CD which contains the cross-platform C/C++ interpreter Ch for use as an instructional tool to help teaching and learning C and C++. Ch is the most pedagogically effective interactive computing environment for instructors to make interactive presentations in a classroom to illustrate difficult concepts such as loops, functions, arrays, and pointers. Ch is also the most user-friendly for beginners to learn computer programming and problem solving in C/C++ so that they can focus on improving their program design and problem solving skills, in collaboration with fellow students in a class who very likely may use different platforms. The book also describes how to use Visual C++ and gcc/g++ compilers to compile and link C/C++ programs with special considerations to get the programs to work properly with these compilers in different platforms.
In my January 2010 programming course, the students were almost equally split between Mac and PC users. Cheng's software and textbook package let us all focus on developing programs, without concerns about merging computer tools --- that is, compilers and plotting and analysis packages --- on multiple platforms.
...
The bottom line for a post-use review is one question: Would I use the text again? In the case of C for Engineers and Scientists. An Interpretive Approach, the answer is yes.
Students agreed with this assessment; in their post-use survey, when asked whether the book should be used in future course offerings, all students answered "yes."
After using this textbook and the Ch interpreter, I have a new respect for the role of interpreters as an alternative to traditional compilers for introducing computer programming."
--- Excerpts from the book review by Professor Thomas M. Huber, "An Introduction to C and Ch: Your One-Stop Shop for Scientific Computing", IEEE Computing in Science and Engineering, Vol. 12, No. 4, July/August 2010.
Part II: Object-Based Programming in C++ (55 pages)
Chapter 18 Introduction to C++
Chapter 19 Classes and Object-Based Programming in C++
Chapter 20 Two-and Three-Dimensional Plotting in C++
Part III: Numerical Computing in Ch (52 pages)
Chapter 21 Computational Arrays and Matrix Computations in Ch
Chapter 22 Advanced Numerical Analysis in Ch
Part IV: Numerical Computing in MATLAB (44 pages)
Chapter 23 Introduction to MATLAB and Comparison Study with C/Ch
Appendices
A Keywords
B C99 Features Supported in Ch
C C++ Features Supported in Ch
D The ASCII Character Set
in the title without hindering the
learning of the later chapters. These materials, however, are very useful
for those who plan on serious software development in C or intend to take
other advanced courses. The text is logically organized, and heavily
cross-referenced and indexed to serve as a reference for serious programmers.
Only two programs in Part I used extended features in Ch over C for simplicity of programming. Program 4.6 uses the format specifier "%b" in Ch to print out data in binary number. Program 4.7 is a much compplicated equivalent C program. Program 10.30 uses the function linsolve() in Ch to solve a system of linear equations. Program 10.31 is an equivalent version in C.
If the book is adopted for teaching, instructors can obtain about 1,400 PowerPoint slides complementary to this book with many different example programs ready for classroom presentation, 200 companion PowerPoint slides for discussion sessions, Instructor's Guide (with sample syllabus, homework assignments, quizzes, and midterm and final examinations), and Solutions Manual and the source code for solutions for exercises in each chapter from the McGraw-Hill website for the book at http://www.mhhe.com/cheng