HelpFeedback
Tan: C Programming
Information Center
About the Authors
Preface
Features
Table of Contents
Supplements
Text Organisation
Walk Through


Student Edition
Instructor Edition
C Programming: A Q & A Approach

H.H. Tan, Morrison Knudsen Corporation
T.B. D'Orazio, San Francisco State University
Siu Hang Or, Chinese University of Hong Kong
Marian Choy, The University of Hong Kong

ISBN: 0071311165
Copyright year: 2012

Features



  1. The book uses a simple question and answer approach that students find more friendly and accessible than standard narrative. The value of this approach lies in the authors’ ability to craft the questions based on what students often ask and tailoring the answers in a manner that is easily understood.

  2. Each Lesson begins with a single sample program: the source code accompanied by guided observations. Students gain understanding of C because they are compelled to follow the details of this code. Next, the output is revealed and following that, in the Explanation portion of the Lesson, a series of questions and answers are used to explain what the program is doing.

  3. The Application Programs given in the second part of some chapters illustrate the usefulness of the C language for solving engineering and computer science problems. They are comprehensively explained. The examples focus on program design, software engineering, modularity and creating reusable code.

  4. There are numerous figures illustrating programming concepts. Many of the figures are unique and give students an ability to grasp concepts quickly and easily.

  5. A structured four-step method (becoming five steps after introducing strings and more complex data structures) of program development is illustrated in describing the Application Programs. The method includes creating structure charts and data flow diagrams.

  6. Numerical method examples, which can be used in courses that combine programming and numerical methods, are included in the Application Programs.

  7. The Lessons have annotated code that assists students in understanding program details and flow. The annotations help students focus on the code and highlight the important points that the code is demonstrating.

  8. We realise that students typically will not follow multiple pages of code on their own. Therefore, the Application Programs, each of which can cover two or three pages, are explained completely. There are no multiple pages of unexplained code.

  9. We know that students struggle with the concept of pointers. We also have found that for students to understand pointers, the figures representing them should be rooted to something that the students can visualize. It is not enough to have a box with an arrow pointing to another box. Using tables and grid-like sketches of memory, we have taken much of the mystery out of pointers. We have found that after reading our text, students “get” the concept of pointers.

  10. Modification exercises after the Application Programs can be used for courses that have a laboratory. Instructors can tell the students in advance of the laboratory session to read a particular Application Program. During the lab, students can be guided through some of the changes that need to be made. Further changes can be assigned as home exercises.

  11. Beginning students struggle with debugging because the process is new and foreign to them. Students often become frustrated because they must debug their very first program. Recognising this, we have included a detailed example of debugging very early in the text (Chapter 1). Beginners also find debugging loops difficult. In this text, we focus on loops and illustrate how values change as loops are executed. Students learn to trace loops and find errors. In addition, common beginners’ errors are noted at appropriate locations throughout the text.

  12. The True-False questions at the end of each Lesson (with solutions) allow students to quickly assess their progress in grasping the basics.

  13. The Application Exercises at the end of most chapters can be used by an instructor for home assignments.

  14. All of the programs in the book are available at www.mheducation.asia/olc/Cprogramming. Students can modify and execute these programs to gain insight into how they operate.

  15. We have included the last chapter, An Introduction to C++, as an online chapter available at www.mheducation.asia/olc/Cprogramming. It actually covers more than just the basics. After reading this chapter, students will be able to use many of the fundamental aspects of object oriented programming.

  16. Many of the Application Programs give students an introduction to numerical methods.


To obtain an instructor login for this Online Learning Center, ask your local sales representative.. If you're an instructor thinking about adopting this textbook, request a free copy for review.