Software Design for Engineers and Scientists integrates three core areas of computing: . Software engineering - including both traditional methods and the insights of 'extreme programming' . Program design - including the analysis of data structures and algorithms . Practical object-oriented programming Without assuming prior knowledge of any particular programming language, and avoiding the need for students to learn from separate, specialised Computer Science texts, John Robinson takes the reader from small-scale programing to competence in large software projects, all within one volume. Copious examples and case studies are provided in C++ and students can access complementary examples in Java on an accompanying website. The book is especially suitable for undergraduates in the natural sciences and all branches of engineering who have some knowledge of computing basics, and now need to understand and apply software design to tasks like data analysis, simulation, signal processing or visualisation. John Robinson introduces both software theory and its application to problem solving using a range of design principles, applied to the creation of medium-sized systems, providing key methods and tools for designing reliable, efficient, maintainable programs. The case studies are presented within scientific contexts to illustrate all aspects of the design process, allowing students to relate theory to real-world applications. All listings are available on this book’s companion website.

Key Features

· Core computing topics - usually found in separate specialised texts - presented to meet the specific requirements of science and engineering students · Demonstrates good practice through applications, case studies and worked examples based in real-world contexts · Additional website resources are available, including useful links and further worked examples using Java


Undergraduates of Electrical and Electronic Engineering, General Engineering subjects, science students (physics); software engineering. HNC / D Electronic and Electrical Engineering.

Table of Contents

Introduction; Fundamentals; The craft of software design; Beginning programming in C++; Object-oriented programming in C++; Program style and structure; Data structures; Algorithms; Design methodology; Understanding the problem; Researching possible solutions; Modularization; Detailed Design and impletmentation; Testing; Case study: Median filtering; Mulitdimensional minimization - a case study in numerical methods; Stable - desiging a string table class


No. of pages:
© 2004
Print ISBN:
Electronic ISBN:

About the author

John Robinson

Affiliations and Expertise

University of York, U.K.


Combines wit, example and anecdote with clear succinct explanations. Not only would I hand over my hard earned cash, I would recommend others do the same.-Electronics World