Code Complete

Code Complete

Author: Steve McConnell

Publisher: Pearson Education

Published: 2004-06-09

Total Pages: 952

ISBN-13: 0735636974

DOWNLOAD EBOOK

Widely considered one of the best practical guides to programming, Steve McConnell’s original CODE COMPLETE has been helping developers write better software for more than a decade. Now this classic book has been fully updated and revised with leading-edge practices—and hundreds of new code samples—illustrating the art and science of software construction. Capturing the body of knowledge available from research, academia, and everyday commercial practice, McConnell synthesizes the most effective techniques and must-know principles into clear, pragmatic guidance. No matter what your experience level, development environment, or project size, this book will inform and stimulate your thinking—and help you build the highest quality code. Discover the timeless techniques and strategies that help you: Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project


Foundations of Software Engineering

Foundations of Software Engineering

Author: Ashfaque Ahmed

Publisher: CRC Press

Published: 2016-08-25

Total Pages: 476

ISBN-13: 1498737609

DOWNLOAD EBOOK

The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them. Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments. This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems. This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation. Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book’s website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.


Clean Code

Clean Code

Author: Robert C. Martin

Publisher: Pearson Education

Published: 2009

Total Pages: 464

ISBN-13: 0132350882

DOWNLOAD EBOOK

This title shows the process of cleaning code. Rather than just illustrating the end result, or just the starting and ending state, the author shows how several dozen seemingly small code changes can positively impact the performance and maintainability of an application code base.


Software Testing

Software Testing

Author: Brian Hambling

Publisher: BCS, The Chartered Institute

Published: 2010

Total Pages: 239

ISBN-13: 1906124760

DOWNLOAD EBOOK

This text provides practical insight into the world of software testing, explaining the basic steps of the testing process and how to perform effective tests. It also presents an overview of different techniques, both dynamic and static, and how to apply them.


Foundations of Data Science

Foundations of Data Science

Author: Avrim Blum

Publisher: Cambridge University Press

Published: 2020-01-23

Total Pages: 433

ISBN-13: 1108617360

DOWNLOAD EBOOK

This book provides an introduction to the mathematical and algorithmic foundations of data science, including machine learning, high-dimensional geometry, and analysis of large networks. Topics include the counterintuitive nature of data in high dimensions, important linear algebraic techniques such as singular value decomposition, the theory of random walks and Markov chains, the fundamentals of and important algorithms for machine learning, algorithms and analysis for clustering, probabilistic models for large networks, representation learning including topic modelling and non-negative matrix factorization, wavelets and compressed sensing. Important probabilistic techniques are developed including the law of large numbers, tail inequalities, analysis of random projections, generalization guarantees in machine learning, and moment methods for analysis of phase transitions in large random graphs. Additionally, important structural and complexity measures are discussed such as matrix norms and VC-dimension. This book is suitable for both undergraduate and graduate courses in the design and analysis of algorithms for data.