Items related to A Practical Guide to Developing Computational Software

A Practical Guide to Developing Computational Software - Softcover

 
9781492973171: A Practical Guide to Developing Computational Software

Synopsis

This book is written for those who want to pursue a career in developing computational software for engineering and scientific applications. Unlike traditional numerical programming books that focus on the analysis and implementation of numerical methods, this book emphasizes on the development of a reliable and reusable software package. Readers will not only learn implementation of numerical methods but also the software development process that includes creating and using a dynamic-link library, designing flexible test drivers, writing scripting tools for productivity, performing and validating an automated test suite. Based on the computational library developed in this book, readers will also learn how to develop a windows-based application for data visualization and manipulation. Multi-core processors bring parallel computing to mainstream customers. The shift to parallel computing leads to fundamental changes in the design of software. For this reason, this book discusses also how classical numerical programs can be parallelized via Open Multi-Processing.

Numerical methods in this book include evaluation of polynomial and series, root-finding, linear and nonlinear systems, inverse of a matrix, eigenvalues and eigenvector, integration, and least squares approximation. These methods are grouped and presented based on their implementation styles rather than their relevance. This book is organized as follows:

Chapter 1 is a fast-paced brief introduction to C/C++ programming under Microsoft Visual Studio to familiarize readers with basic C/C++ syntax and debugging tools.

Chapter 2 discusses floating-point notation, comparison, and arithmetic. Rudimentary understanding of floating-point is a pre-requisite for programmers. Failure to understand it is often the source of problems in numerical programming.

Chapter 3 continues the study of advanced C/C++ programming such as default arguments, data structure and class, double pointers, dynamic memory allocations, and STL containers. Algorithm efficiency analysis and big O notation will also be discussed. This chapter is designed to help readers to gain the required C/C++ proficiency in implementing numerical methods.

Chapter 4 is devoted to give readers an insight on how a computational software library may actually be developed in a software house. Readers will learn how to create and use a dynamic-link library, how to design flexible test drivers, and how to write scripts to improve productivity, to execute test suites automatically, and to compare the test results with the predicted outcomes.

Chapter 5 deals with recursive algorithm. Because of its problem-solving power and simplicity in implementation, recursion in numerical methods will be discussed in this chapter with emphasizes on performance and memory usage.

Chapter 6 discusses linear systems. Topics include solution to system of linear equations, matrix manipulation, inverse of a matrix, eigenvalue and eigenvector.

Chapter 7 and 8 explore how to use function pointers, generic data pointer, and inheritance with polymorphism to design extensible and reusable code - an important topic in software engineering.

Chapter 9 discusses the least square approximation method whose applications can be found in many fields such as computer-aided design, metrology, image processing, etc.

Chapter 10 aims to develop a simple windows-based application for data visualization and manipulation. Through this miniature application, readers will get a glimpse of how sophisticated CAD/CAM systems are developed.

Chapter 11 discusses how classical numerical methods can be parallelized to take the advantage of multi-thread programming. Common problems associated with parallel computing such as data race conditions, workload balance, synchronization, and parallel slowdown are discussed in detail.

Appendix A is a brief introduction to Perl programming.

Appendix B contains answers to all seven pre-interview questions given in the preface.

"synopsis" may belong to another edition of this title.

Buy Used

Condition: Good
Ship within 24hrs. Satisfaction...
View this item

£ 4.43 shipping from U.S.A. to United Kingdom

Destination, rates & speeds

Search results for A Practical Guide to Developing Computational Software

Stock Image

Li, Dr. Yong-Ming
ISBN 10: 1492973173 ISBN 13: 9781492973171
Used Paperback

Seller: BooksRun, Philadelphia, PA, U.S.A.

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Paperback. Condition: Good. Ship within 24hrs. Satisfaction 100% guaranteed. APO/FPO addresses supported. Seller Inventory # 1492973173-11-1

Contact seller

Buy Used

£ 10.53
Convert currency
Shipping: £ 4.43
From U.S.A. to United Kingdom
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Yong Li
ISBN 10: 1492973173 ISBN 13: 9781492973171
New Paperback / softback
Print on Demand

Seller: THE SAINT BOOKSTORE, Southport, United Kingdom

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Paperback / softback. Condition: New. This item is printed on demand. New copy - Usually dispatched within 5-9 working days 629. Seller Inventory # C9781492973171

Contact seller

Buy New

£ 22.43
Convert currency
Shipping: FREE
Within United Kingdom
Destination, rates & speeds

Quantity: Over 20 available

Add to basket

Stock Image

Li, Dr. Yong-Ming
ISBN 10: 1492973173 ISBN 13: 9781492973171
New Softcover
Print on Demand

Seller: California Books, Miami, FL, U.S.A.

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Condition: New. Print on Demand. Seller Inventory # I-9781492973171

Contact seller

Buy New

£ 18.27
Convert currency
Shipping: £ 7.39
From U.S.A. to United Kingdom
Destination, rates & speeds

Quantity: Over 20 available

Add to basket

Stock Image

Yong-Ming Li
ISBN 10: 1492973173 ISBN 13: 9781492973171
New Paperback

Seller: CitiRetail, Stevenage, United Kingdom

Seller rating 5 out of 5 stars 5-star rating, Learn more about seller ratings

Paperback. Condition: new. Paperback. While recruiting college graduates, the author was surprised to find that many candidates who were working toward their master's degrees in computer science were unable to demonstrate the desired programming skills, though they all indicated in their resumes that they are proficient in C/C++ and objected oriented programming. It appears to the author that there is a gap between academic training and real world computing. As a veteran software developer with an interdisciplinary education background in engineering and applied mathematics, the author was determined to write a book for those who want to pursue a career in developing computational software for engineering and scientific applications. Readers will learn not only a disciplined way to implement numerical methods but also the software development process as a whole. In reading this book and completing all of the hands-on programming exercises, readers will gain an assured confidence and the sound programming skills needed to work in a software house or to develop their own computational software.Numerical methods in this book include evaluation of polynomial and series, root-finding, linear and nonlinear systems, inverse of a matrix, eigenvalues and eigenvector, integration, and least squares approximation. These methods are grouped and presented based on their implementation styles rather than their relevance. This book is organized as follows: Chapter 1 is a fast-paced brief introduction to C/C++ programming under Microsoft Visual Studio to familiarize readers with basic C/C++ syntax and debugging tools.Chapter 2 discusses floating-point notation, comparison, and arithmetic. Rudimentary understanding of floating-point is a pre-requisite for programmers. Failure to understand it is often the source of problems in numerical programming.Chapter 3 continues the study of advanced C/C++ programming such as default arguments, data structure and class, double pointers, dynamic memory allocations, and STL containers. Algorithm efficiency analysis and big O notation will also be discussed. This chapter is designed to help readers to gain the required C/C++ proficiency in implementing numerical methods.Chapter 4 is devoted to give readers an insight on how a computational software library may actually be developed in a software house. Readers will learn how to create and use a dynamic-link library, how to design flexible test drivers, and how to write scripts to improve productivity, to execute test suites automatically, and to compare the test results with the predicted outcomes.Chapter 5 deals with recursive algorithm. Because of its problem-solving power and simplicity in implementation, recursion in numerical methods will be discussed in this chapter with emphasizes on performance and memory usage.Chapter 6 discusses linear systems. Topics include solution to system of linear equations, matrix manipulation, inverse of a matrix, eigenvalue and eigenvector.Chapter 7 and 8 explore how to use function pointers, generic data pointer, and inheritance with polymorphism to design extensible and reusable code - an important topic in software engineering.Chapter 9 discusses the least square approximation method whose applications can be found in many fields such as computer-aided design, metrology, image processing, etc.Chapter 10 aims to develop a simple windows-based application for data visualization and manipulation. Through this miniature application, readers will get a glimpse of how sophisticated CAD/CAM systems are developed.Chapter 11 discusses how classical numerical methods can be parallelized to take the advantage of multi-thread programming. Common problems associated with parallel computing such as data race conditions, workload balance, synchronization, and parallel slowdown are discussed in detail.Appendix A is a brief introduction to Perl program Shipping may be from our UK warehouse or from our Australian or US warehouses, depending on stock availability. Seller Inventory # 9781492973171

Contact seller

Buy New

£ 26.49
Convert currency
Shipping: FREE
Within United Kingdom
Destination, rates & speeds

Quantity: 1 available

Add to basket

Stock Image

Li, Dr. Yong-Ming
ISBN 10: 1492973173 ISBN 13: 9781492973171
Used Softcover

Seller: SecondSale, Montgomery, IL, U.S.A.

Seller rating 4 out of 5 stars 4-star rating, Learn more about seller ratings

Condition: Good. Item in good condition. Textbooks may not include supplemental items i.e. CDs, access codes etc. Seller Inventory # 00056487206

Contact seller

Buy Used

£ 10.64
Convert currency
Shipping: £ 25.87
From U.S.A. to United Kingdom
Destination, rates & speeds

Quantity: 1 available

Add to basket