Clean Code: A Handbook of Agile Software Craftsmanship


Robert C. Martin - 2007
    But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way. Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it. What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft. Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code. Readers will come away from this book understanding ‣ How to tell the difference between good and bad code‣ How to write good code and how to transform bad code into good code‣ How to create good names, good functions, good objects, and good classes‣ How to format code for maximum readability ‣ How to implement complete error handling without obscuring code logic ‣ How to unit test and practice test-driven development This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

From Mathematics to Generic Programming


Alexander A. Stepanov - 2014
    If you're a reasonably proficient programmer who can think logically, you have all the background you'll need. Stepanov and Rose introduce the relevant abstract algebra and number theory with exceptional clarity. They carefully explain the problems mathematicians first needed to solve, and then show how these mathematical solutions translate to generic programming and the creation of more effective and elegant code. To demonstrate the crucial role these mathematical principles play in many modern applications, the authors show how to use these results and generalized algorithms to implement a real-world public-key cryptosystem. As you read this book, you'll master the thought processes necessary for effective programming and learn how to generalize narrowly conceived algorithms to widen their usefulness without losing efficiency. You'll also gain deep insight into the value of mathematics to programming--insight that will prove invaluable no matter what programming languages and paradigms you use. You will learn aboutHow to generalize a four thousand-year-old algorithm, demonstrating indispensable lessons about clarity and efficiencyAncient paradoxes, beautiful theorems, and the productive tension between continuous and discreteA simple algorithm for finding greatest common divisor (GCD) and modern abstractions that build on itPowerful mathematical approaches to abstractionHow abstract algebra provides the idea at the heart of generic programmingAxioms, proofs, theories, and models: using mathematical techniques to organize knowledge about your algorithms and data structuresSurprising subtleties of simple programming tasks and what you can learn from themHow practical implementations can exploit theoretical knowledge

Introduction to Topology


Bert Mendelson - 1975
    It provides a simple, thorough survey of elementary topics, starting with set theory and advancing to metric and topological spaces, connectedness, and compactness. 1975 edition.

Textbook of Medical Physiology


Arthur C. Guyton - 1969
    Guyton & Hall's Textbook of Medical Physiology covers all of the major systems in the human body, while emphasizing system interaction, homeostasis, and pathophysiology. This very readable, easy-to-follow, and thoroughly updated, 11th Edition features a new full-color layout, short chapters, clinical vignettes, and shaded summary tables that allow for easy comprehension of the material.The smart way to study!Elsevier titles with STUDENT CONSULT will help you master difficult concepts and study more efficiently in print and online! Perform rapid searches. Integrate bonus content from other disciplines. Download text to your handheld device. And a lot more. Each STUDENT CONSULT title comes with full text online, a unique image library, case studies, USMLE style questions, and online note-taking to enhance your learning experience.Presents short, easy-to-read chapters in keeping with the Guyton and Hall tradition.Provides shaded summary tables for easy reference.Includes clinical vignettes, which allow readers to see core concepts applied to real-life situations.Offers specific discussions of pathophysiology in most clinical areas of medicine.Ensures a strong grasp of physiology concepts through well-illustrated discussions of the most essential principles.Now in full color! Offers access to the full text and other valuable features online via the STUDENT CONSULT website.Uses full-color illustrations throughout, including 486 figures, 277 charts and graphs, 100 brand-new line drawings, and 36 ECGs.Features a new full-color design that makes information more engaging and even easier to read.Updated throughout to reflect the latest knowledge in the field.

Elements of Physical Chemistry


Peter Atkins - 1992
    This edition is designed to attain a thorough understanding of this vital branch of chemistry.

Purely Functional Data Structures


Chris Okasaki - 1996
    However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.

The Sciences of the Artificial


Herbert A. Simon - 1969
    There are updates throughout the book as well. These take into account important advances in cognitive psychology and the science of design while confirming and extending the book's basic thesis: that a physical symbol system has the necessary and sufficient means for intelligent action. The chapter "Economic Reality" has also been revised to reflect a change in emphasis in Simon's thinking about the respective roles of organizations and markets in economic systems."People sometimes ask me what they should read to find out about artificial intelligence. Herbert Simon's book The Sciences of the Artificial is always on the list I give them. Every page issues a challenge to conventional thinking, and the layman who digests it well will certainly understand what the field of artificial intelligence hopes to accomplish. I recommend it in the same spirit that I recommend Freud to people who ask about psychoanalysis, or Piaget to those who ask about child psychology: If you want to learn about a subject, start by reading its founding fathers." -- George A. Miller

Partial Differential Equations for Scientists and Engineers


Stanley J. Farlow - 1982
    Indeed, such equations are crucial to mathematical physics. Although simplifications can be made that reduce these equations to ordinary differential equations, nevertheless the complete description of physical systems resides in the general area of partial differential equations.This highly useful text shows the reader how to formulate a partial differential equation from the physical problem (constructing the mathematical model) and how to solve the equation (along with initial and boundary conditions). Written for advanced undergraduate and graduate students, as well as professionals working in the applied sciences, this clearly written book offers realistic, practical coverage of diffusion-type problems, hyperbolic-type problems, elliptic-type problems, and numerical and approximate methods. Each chapter contains a selection of relevant problems (answers are provided) and suggestions for further reading.