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 programmingWithout 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++.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.
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
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