The Second Edition of Using C in Software Design provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language in both the original edition published by Academic Press Professional and the current ebook edition provides enough information for a practicing scientist or engineer to be able to write substantial programs to ...
The Second Edition of Using C in Software Design provides a creative approach to learning the C programming language by emphasizing software engineering. This inexpensive book, extensively tested in several academic and professional settings, provides a gentle, but complete, introduction to the C language in both the original edition published by Academic Press Professional and the current ebook edition provides enough information for a practicing scientist or engineer to be able to write substantial programs to solve scientific programs using C libraries. Extensive program examples are included to illustrate the major concepts of the C programming language.
This book also illustrates the way that modern software engineering is typically done, by showing how a major software design and development project can be implemented in the C language.
(Note that this ebook is the successor to the original first edition, which is technically out of print, although some copies may be available from various booksellers. It has been retitled to indicate that it, in fact, a second edition. It has been assigned an ISBN in order to better track both domestic and international sales.)
This book is designed for those learning C as a second language and ANSI C users. Numerous thought-provoking problems are included at the end of each chapter. The book is divided into two parts. The first part emphasizes the simpler software engineering aspects of C, allowing the reader to begin writing interesting programs quickly. The second section discusses advanced C topics, such as pointers, structures, and the design of larger C programs that extend over several source code files.
Key features include:
1. All of the material has been class-tested to ensure accuracy and usability.
2. As much as feasible, the book discusses the C language in general and avoids most implementation-specific features of the language.
3. A software project is introduced early in the book and appears throughout as new features of C are covered.
4. A separate chapter on larger programming using the “make” facility or the Visual Studio “project” for separate compilation is included.
5. A few judiciously chosen programs deliberately seeded with bugs or errors are used to illustrate potential errors and how they can be fixed to create programs that work correctly.
6. Special emphasis is placed on the design and implementation of user-defined libraries.
7. A chapter introducing C++ is included.
Ronald J. Leach recently retired as Professor and Chair Emeritus from the Department of Systems and Computer Science at Howard University, where he had taught since 1969. He received the B.S., M.S., and Ph.D. degrees from the University of Maryland at College Park and the M. S. degree in Computer Science from Johns Hopkins University. His research interests include distributed systems, performance modeling and capacity planning; and most areas of software engineering, especially software reuse, fault-tolerance, and software performance measurement and their empirical foundations. Some of his current work includes the application of computing to the social sciences, especially in the area of name matching within historical documents, using both his computer search skills and genealogical knowledge. He is an experienced cruise ship lecturer, with special emphasis on identity theft and computer forensics.
Dr. Leach is the author of seven print books: Using C in Software Design, Academic Press, Advanced Topics in UNIX, John Wiley; Object-Oriented Design and Programming in C++, Academic Press, Software Reuse: Methods, Models, and Costs, McGraw-Hill, Introduction to Software Engineering, CRC Press, Genealogy for the Information Age, Disruptive Publishing, and Relative Genealogy, Disruptive Publishing. He has recently published an ebook entitled "Identity Theft in the Cyber Age."
Dr. Leach has offered technical training and seminars on software reuse, reengineering, and testing on three continents. He is also the author or co-author of more than one hundred technical papers.