Elements of Programming


Alexander Stepanov - 2009
    And then we wonder why software is notorious for being delivered late and full of bugs, while other engineers routinely deliver finished bridges, automobiles, electrical appliances, etc., on time and with only minor defects. This book sets out to redress this imbalance. Members of my advanced development team at Adobe who took the course based on the same material all benefited greatly from the time invested. It may appear as a highly technical text intended only for computer scientists, but it should be required reading for all practicing software engineers." --Martin Newell, Adobe Fellow"The book contains some of the most beautiful code I have ever seen." --Bjarne Stroustrup, Designer of C++"I am happy to see the content of Alex's course, the development and teaching of which I strongly supported as the CTO of Silicon Graphics, now available to all programmers in this elegant little book." --Forest Baskett, General Partner, New Enterprise Associates"Paul's patience and architectural experience helped to organize Alex's mathematical approach into a tightly-structured edifice--an impressive feat!" --Robert W. Taylor, Founder of Xerox PARC CSL and DEC Systems Research Center Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. The book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.This is not an easy book. Nor is it a compilation of tips and tricks for incremental improvements in your programming skills. The book's value is more fundamental and, ultimately, more critical for insight into programming. To benefit fully, you will need to work through it from beginning to end, reading the code, proving the lemmas, and doing the exercises. When finished, you will see how the application of the deductive method to your programs assures that your system's software components will work together and behave as they must.The book presents a number of algorithms and requirements for types on which they are defined. The code for these descriptions--also available on the Web--is written in a small subset of C++ meant to be accessible to any experienced programmer. This subset is defined in a special language appendix coauthored by Sean Parent and Bjarne Stroustrup.Whether you are a software developer, or any other professional for whom programming is an important activity, or a committed student, you will come to understand what the book's experienced authors have been teaching and demonstrating for years--that mathematics is good for programming, and that theory is good for practice.

Schaum's Outline of Complex Variables


Murray R. Spiegel - 1968
    Contains 640 problems including solutions; additional practice problems with answers; explanations of complex variable theory; coverage of applications of complex variables in engineering, physics, and elsewhere, with accompanying sample problems and solutions.

Does God Play Dice?: The New Mathematics of Chaos


Ian Stewart - 1989
    It also incorporates new information regarding the solar system and an account of complexity theory. This witty, lucid and engaging book makes the complex mathematics of chaos accessible and entertaining. Presents complex mathematics in an accessible style. Includes three new chapters on prediction in chaotic systems, control of chaotic systems, and on the concept of chaos. Provides a discussion of complexity theory.

Mathematics: A Very Short Introduction


Timothy Gowers - 2002
    The most fundamental differences are philosophical, and readers of this book will emerge with a clearer understandingof paradoxical-sounding concepts such as infinity, curved space, and imaginary numbers. The first few chapters are about general aspects of mathematical thought. These are followed by discussions of more specific topics, and the book closes with a chapter answering common sociological questionsabout the mathematical community (such as Is it true that mathematicians burn out at the age of 25?) It is the ideal introduction for anyone who wishes to deepen their understanding of mathematics.About the Series: Combining authority with wit, accessibility, and style, Very Short Introductions offer an introduction to some of life's most interesting topics. Written by experts for the newcomer, they demonstrate the finest contemporary thinking about the central problems and issues in hundredsof key topics, from philosophy to Freud, quantum theory to Islam.

Understanding Cryptography: A Textbook For Students And Practitioners


Christof Paar - 2009
    Today's designers need a comprehensive understanding of applied cryptography.After an introduction to cryptography and data security, the authors explain the main techniques in modern cryptography, with chapters addressing stream ciphers, the Data Encryption Standard (DES) and 3DES, the Advanced Encryption Standard (AES), block ciphers, the RSA cryptosystem, public-key cryptosystems based on the discrete logarithm problem, elliptic-curve cryptography (ECC), digital signatures, hash functions, Message Authentication Codes (MACs), and methods for key establishment, including certificates and public-key infrastructure (PKI). Throughout the book, the authors focus on communicating the essentials and keeping the mathematics to a minimum, and they move quickly from explaining the foundations to describing practical implementations, including recent topics such as lightweight ciphers for RFIDs and mobile devices, and current key-length recommendations.The authors have considerable experience teaching applied cryptography to engineering and computer science students and to professionals, and they make extensive use of examples, problems, and chapter reviews, while the book's website offers slides, projects and links to further resources. This is a suitable textbook for graduate and advanced undergraduate courses and also for self-study by engineers.

Basic Category Theory for Computer Scientists


Benjamin C. Pierce - 1991
    Assuming a minimum of mathematical preparation, Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories. Four case studies illustrate applications of category theory to programming language design, semantics, and the solution of recursive domain equations. A brief literature survey offers suggestions for further study in more advanced texts.

Practical Algebra: A Self-Teaching Guide


Peter H. Selby - 1974
    Practical Algebra is an easy andfun-to-use workout program that quickly puts you in command of allthe basic concepts and tools of algebra. With the aid of practical, real-life examples and applications, you'll learn: * The basic approach and application of algebra to problemsolving * The number system (in a much broader way than you have known itfrom arithmetic) * Monomials and polynomials; factoring algebraic expressions; howto handle algebraic fractions; exponents, roots, and radicals;linear and fractional equations * Functions and graphs; quadratic equations; inequalities; ratio, proportion, and variation; how to solve word problems, andmore Authors Peter Selby and Steve Slavin emphasize practical algebrathroughout by providing you with techniques for solving problems ina wide range of disciplines--from engineering, biology, chemistry, and the physical sciences, to psychology and even sociology andbusiness administration. Step by step, Practical Algebra shows youhow to solve algebraic problems in each of these areas, then allowsyou to tackle similar problems on your own, at your own pace.Self-tests are provided at the end of each chapter so you canmeasure your mastery.

Visual Complexity: Mapping Patterns of Information


Manuel Lima - 2011
    Finding patterns and making meaningful connections inside complex data networks has emerged as one of the biggest challenges of the twenty-first century. In recent years, designers, researchers, and scientists have begun employing an innovative mix of colors, symbols, graphics, algorithms, and interactivity to clarify, and often beautify, the clutter. From representing networks of friends on Facebook to depicting interactions among proteins in a human cell, Visual Complexity presents one hundred of the most interesting examples of information-visualization by the field's leading practitioners.

Growing Artificial Societies: Social Science from the Bottom Up


Joshua M. Epstein - 1994
    Epstein and Robert L. Axtell approach this age-old question with cutting-edge computer simulation techniques. Such fundamental collective behaviors as group formation, cultural transmission, combat, and trade are seen to "emerge" from the interaction of individual agents following simple local rules.In their computer model, Epstein and Axtell begin the development of a "bottom up" social science. Their program, named Sugarscape, simulates the behavior of artificial people (agents) located on a landscape of a generalized resource (sugar). Agents are born onto the Sugarscape with a vision, a metabolism, a speed, and other genetic attributes. Their movement is governed by a simple local rule: "look around as far as you can; find the spot with the most sugar; go there and eat the sugar." Every time an agent moves, it burns sugar at an amount equal to its metabolic rate. Agents die if and when they burn up all their sugar. A remarkable range of social phenomena emerge. For example, when seasons are introduced, migration and hibernation can be observed. Agents are accumulating sugar at all times, so there is always a distribution of wealth.Next, Epstein and Axtell attempt to grow a "proto-history" of civilization. It starts with agents scattered about a twin-peaked landscape; over time, there is self-organization into spatially segregated and culturally distinct "tribes" centered on the peaks of the Sugarscape. Population growth forces each tribe to disperse into the sugar lowlands between the mountains. There, the two tribes interact, engaging in combat and competing for cultural dominance, to produce complex social histories with violent expansionist phases, peaceful periods, and so on. The proto-history combines a number of ingredients, each of which generates insights of its own. One of these ingredients is sexual reproduction. In some runs, the population becomes thin, birth rates fall, and the population can crash. Alternatively, the agents may over-populate their environment, driving it into ecological collapse.When Epstein and Axtell introduce a second resource (spice) to the Sugarscape and allow the agents to trade, an economic market emerges. The introduction of pollution resulting from resource-mining permits the study of economic markets in the presence of environmental factors.This study is part of the 2050 Project, a joint venture of the Santa Fe Institute, the World Resources Institute, and the Brookings Institution. The project is an international effort to identify conditions for a sustainable global system in the middle of the next century and to design policy actions to help achieve such a system.

Understanding Analysis


Stephen Abbott - 2000
    The aim of a course in real analysis should be to challenge and improve mathematical intuition rather than to verify it. The philosophy of this book is to focus attention on questions which give analysis its inherent fascination.

Thinking Physics: Understandable Practical Reality


Lewis Carroll Epstein - 1989
    Thinking Physics is a perfect beginner’s guide to an amazingly wide range of physics-related questions. The book targets topics that science teachers and students spend time wondering about, like wing lift. Epstein elucidates the familiar but misunderstood — such as how tides work — along with more obscure but fascinating phenomena like the “Bernoulli sub” and the “artificial aurora” created by hydrogen bombs. Broken into many short sections and peppered with Epstein’s own playful hand-drawn illustrations, the book does not simply give the right answer: It also goes into the answers that seem right but are wrong and shows why they are wrong — a rarity in science books. Thinking Physics is a rigorously correct, lighthearted, and cleverly designed Q and A book for physicists of all ages.

Quantum Field Theory for the Gifted Amateur


Tom Lancaster - 2014
    Unfortunately, the subject has gained a notorious reputation for difficulty, with forbidding looking mathematics and a peculiar diagrammatic language described in an array of unforgiving, weighty textbooks aimed firmly at aspiring professionals. However, quantum field theory is too important, too beautiful, and too engaging to be restricted to the professionals. This book on quantum field theory is designed to be different. It is written by experimental physicists and aims to provide the interested amateur with a bridge from undergraduate physics to quantum field theory. The imagined reader is a gifted amateur, possessing a curious and adaptable mind, looking to be told an entertaining and intellectually stimulating story, but who will not feel patronised if a few mathematical niceties are spelled out in detail. Using numerous worked examples, diagrams, and careful physically motivated explanations, this book will smooth the path towards understanding the radically different and revolutionary view of the physical world that quantum field theory provides, and which all physicists should have the opportunity to experience.To request a copy of the Solutions Manual, visit http: //global.oup.com/uk/academic/physics/ad....

The Art of Data Science: A Guide for Anyone Who Works with Data


Roger D. Peng - 2015
    The authors have extensive experience both managing data analysts and conducting their own data analyses, and have carefully observed what produces coherent results and what fails to produce useful insights into data. This book is a distillation of their experience in a format that is applicable to both practitioners and managers in data science.

The Cult of Statistical Significance: How the Standard Error Costs Us Jobs, Justice, and Lives


Stephen Thomas Ziliak - 2008
    If it takes a book to get it across, I hope this book will do it. It ought to.”—Thomas Schelling, Distinguished University Professor, School of Public Policy, University of Maryland, and 2005 Nobel Prize Laureate in Economics “With humor, insight, piercing logic and a nod to history, Ziliak and McCloskey show how economists—and other scientists—suffer from a mass delusion about statistical analysis. The quest for statistical significance that pervades science today is a deeply flawed substitute for thoughtful analysis. . . . Yet few participants in the scientific bureaucracy have been willing to admit what Ziliak and McCloskey make clear: the emperor has no clothes.”—Kenneth Rothman, Professor of Epidemiology, Boston University School of Health The Cult of Statistical Significance shows, field by field, how “statistical significance,” a technique that dominates many sciences, has been a huge mistake. The authors find that researchers in a broad spectrum of fields, from agronomy to zoology, employ “testing” that doesn’t test and “estimating” that doesn’t estimate. The facts will startle the outside reader: how could a group of brilliant scientists wander so far from scientific magnitudes? This study will encourage scientists who want to know how to get the statistical sciences back on track and fulfill their quantitative promise. The book shows for the first time how wide the disaster is, and how bad for science, and it traces the problem to its historical, sociological, and philosophical roots. Stephen T. Ziliak is the author or editor of many articles and two books. He currently lives in Chicago, where he is Professor of Economics at Roosevelt University. Deirdre N. McCloskey, Distinguished Professor of Economics, History, English, and Communication at the University of Illinois at Chicago, is the author of twenty books and three hundred scholarly articles. She has held Guggenheim and National Humanities Fellowships. She is best known for How to Be Human* Though an Economist (University of Michigan Press, 2000) and her most recent book, The Bourgeois Virtues: Ethics for an Age of Commerce (2006).

Wetware: A Computer in Every Living Cell


Dennis Bray - 2009
    Cells are built out of molecular circuits that perform logical operations, as electronic devices do, but with unique properties. Bray argues that the computational juice of cells provides the basis of all the distinctive properties of living systems: it allows organisms to embody in their internal structure an image of the world, and this accounts for their adaptability, responsiveness, and intelligence.In Wetware, Bray offers imaginative, wide-ranging and perceptive critiques of robotics and complexity theory, as well as many entertaining and telling anecdotes. For the general reader, the practicing scientist, and all others with an interest in the nature of life, the book is an exciting portal to some of biology’s latest discoveries and ideas.