Overview
- The book is appropriate for undergraduate students of engineering and computer science, and graduate students of other disciplines
- The author introduces pointer-based memory manipulation in the first chapter, so that students learn and practice this essential skill at an early stage
- The presentation flows from C into Matlab/Octave programming, important for engineers in all fields
- Includes supplementary material: sn.pub/extras
Access this book
Tax calculation will be finalised at checkout
Other ways to access
Table of contents (11 chapters)
Keywords
About this book
To learn to program is to be initiated into an entirely new way of thinking about engineering, mathematics, and the world in general. Computation is integral to all modern engineering disciplines, so the better you are at programming, the better you will be in your chosen field.
The author departs radically from the typical presentation by teaching concepts and techniques in a rigorous manner rather than listing how to use libraries and functions. He presents pointers in the very first chapter as part of the development of a computational model that facilitates an ab initio presentation of subjects such as function calls, call-by-reference, arrays, the stack, and the heap. The model also allows students to practice the essential skill of memory manipulation throughout the entire course rather than just at the end. As a result, this textbook goes further than is typical for a one-semester course -- abstract data types and linked lists, for example, are covered in depth. The computational model will also serve students in their adventures with programming beyond the course: instead of falling back on rules, they can think through the model to decide how a new programming concept fits with what they already know.
The book is appropriate for undergraduate students of engineering and computer science, and graduate students of other disciplines. It contains many exercises integrated into the main text, and the author has made the source code available online.
Reviews
"This book builds a well-defined computation model that allows concepts that are important in technical and scientific applications -- like pointers, arrays and recursion -- to be gradually and rigorously introduced. The languages covered by the book, C and MATLAB, are highly relevant to engineering applications.
Clarity of exposition, numerous well-chosen examples, pedagogical savvy, and logical sequencing of the topics all help the reader's progress through the chapters and make for an enjoyable learning experience. This book prepares one well to deal with advanced programming language constructs and the design of large, complex applications by promoting mastery of the fundamentals, by covering important practical aspects of a programmer's activity, and by instilling good design and implementation habits. It is therefore ideally suited for self-study or as a textbook in an introductory college-level programming course for engineers and similarly technically-mindedstudents."
Fabio Somenzi (University of Colorado at Boulder)
Authors and Affiliations
About the author
Bibliographic Information
Book Title: Programming for Engineers
Book Subtitle: A Foundational Approach to Learning C and Matlab
Authors: Aaron R. Bradley
DOI: https://doi.org/10.1007/978-3-642-23303-6
Publisher: Springer Berlin, Heidelberg
eBook Packages: Computer Science, Computer Science (R0)
Copyright Information: Springer-Verlag Berlin Heidelberg 2011
Hardcover ISBN: 978-3-642-23302-9Published: 26 October 2011
Softcover ISBN: 978-3-642-43544-7Published: 29 November 2013
eBook ISBN: 978-3-642-23303-6Published: 25 October 2011
Edition Number: 1
Number of Pages: XIV, 238
Topics: Software Engineering/Programming and Operating Systems, Electrical Engineering, Data Structures and Information Theory, Mathematics of Computing