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

Nonzero: The Logic of Human Destiny


Robert Wright - 1999
    Now Wright attempts something even more ambitious: explaining the direction of evolution and human history–and discerning where history will lead us next.In Nonzero: The Logic of Human Destiny, Wright asserts that, ever since the primordial ooze, life has followed a basic pattern. Organisms and human societies alike have grown more complex by mastering the challenges of internal cooperation. Wright's narrative ranges from fossilized bacteria to vampire bats, from stone-age villages to the World Trade Organization, uncovering such surprises as the benefits of barbarian hordes and the useful stability of feudalism. Here is history endowed with moral significance–a way of looking at our biological and cultural evolution that suggests, refreshingly, that human morality has improved over time, and that our instinct to discover meaning may itself serve a higher purpose. Insightful, witty, profound, Nonzero offers breathtaking implications for what we believe and how we adapt to technology's ongoing transformation of the world.From the Trade Paperback edition.

Pearls of Functional Algorithm Design


Richard S. Bird - 2010
    These 30 short chapters each deal with a particular programming problem drawn from sources as diverse as games and puzzles, intriguing combinatorial tasks, and more familiar areas such as data compression and string matching. Each pearl starts with the statement of the problem expressed using the functional programming language Haskell, a powerful yet succinct language for capturing algorithmic ideas clearly and simply. The novel aspect of the book is that each solution is calculated from an initial formulation of the problem in Haskell by appealing to the laws of functional programming. Pearls of Functional Algorithm Design will appeal to the aspiring functional programmer, students and teachers interested in the principles of algorithm design, and anyone seeking to master the techniques of reasoning about programs in an equational style.

Algorithms


Robert Sedgewick - 1983
    This book surveys the most important computer algorithms currently in use and provides a full treatment of data structures and algorithms for sorting, searching, graph processing, and string processing -- including fifty algorithms every programmer should know. In this edition, new Java implementations are written in an accessible modular programming style, where all of the code is exposed to the reader and ready to use.The algorithms in this book represent a body of knowledge developed over the last 50 years that has become indispensable, not just for professional programmers and computer science students but for any student with interests in science, mathematics, and engineering, not to mention students who use computation in the liberal arts.The companion web site, algs4.cs.princeton.edu contains An online synopsis Full Java implementations Test data Exercises and answers Dynamic visualizations Lecture slides Programming assignments with checklists Links to related material The MOOC related to this book is accessible via the "Online Course" link at algs4.cs.princeton.edu. The course offers more than 100 video lecture segments that are integrated with the text, extensive online assessments, and the large-scale discussion forums that have proven so valuable. Offered each fall and spring, this course regularly attracts tens of thousands of registrants.Robert Sedgewick and Kevin Wayne are developing a modern approach to disseminating knowledge that fully embraces technology, enabling people all around the world to discover new ways of learning and teaching. By integrating their textbook, online content, and MOOC, all at the state of the art, they have built a unique resource that greatly expands the breadth and depth of the educational experience.

Overcomplicated: Technology at the Limits of Comprehension


Samuel Arbesman - 2016
    The NYSE computers went down and trading was suspended for several hours. The culprit wasn't hackers or a rogue algorithm. It was just... a glitch. And it's just the beginning. Technological complexity is no trivial matter. While a few hours of suspended trading may not have had lasting impact on the markets, imagine the damage that could result from a breakdown of our air traffic control systems, or earthquake warning systems. We need a new way to think about technology, and we need it fast. In Overcomplicated, complexity scientist Samuel Arbesman argues that we've reached a new era: a time when our technological systems have become too complex and interconnected for us to fully understand or predict.  From our machines and software to our legal frameworks and urban infrastructure, Arbesman explores the forces that lead us to continue to make systems more complicated and more incomprehensible, despite our best efforts to make them simpler. He goes on to identify a new framework for thinking about (and planning within) complex systems. We must abandon the idea that we will understand the rules, and instead become field biologists for technology--relying on description and observation to uncover facts about how a system might work.  Whether you work in business, finance, science, or IT, or you simply own a smart phone, Overcomplicated offers valuable insight on how to adapt to the complex age we are living in.

Readings about the Social Animal


Elliot Aronson - 1973
    Organized to illustrate the major themes of Elliot Aronson's The Social Animal, this collection of classic and contemporary readings explores the most important ideas, issues, and debates in social psychology today.

Cryptanalysis: A Study of Ciphers and Their Solution


Helen Fouche Gaines - 1939
    Nihilist, grille, U. S. Army, key-phrase, multiple-alphabet, Gronsfeld, Porta, Beaufort, periodic ciphers, and more. Simple and advanced methods. 166 specimens to solve — with solutions.

The World Of Carbon


Isaac Asimov - 1958
    

Scale: The Universal Laws of Growth, Innovation, Sustainability, and the Pace of Life in Organisms, Cities, Economies, and Companies


Geoffrey B. West - 2017
    The term “complexity” can be misleading, however, because what makes West’s discoveries so beautiful is that he has found an underlying simplicity that unites the seemingly complex and diverse phenomena of living systems, including our bodies, our cities and our businesses. Fascinated by issues of aging and mortality, West applied the rigor of a physicist to the biological question of why we live as long as we do and no longer. The result was astonishing, and changed science, creating a new understanding of energy use and metabolism: West found that despite the riotous diversity in the sizes of mammals, they are all, to a large degree, scaled versions of each other. If you know the size of a mammal, you can use scaling laws to learn everything from how much food it eats per day, what its heart-rate is, how long it will take to mature, its lifespan, and so on. Furthermore, the efficiency of the mammal’s circulatory systems scales up precisely based on weight: if you compare a mouse, a human and an elephant on a logarithmic graph, you find with every doubling of average weight, a species gets 25% more efficient—and lives 25% longer. This speaks to everything from how long we can expect to live to how many hours of sleep we need. Fundamentally, he has proven, the issue has to do with the fractal geometry of the networks that supply energy and remove waste from the organism's body. West's work has been game-changing for biologists, but then he made the even bolder move of exploring his work's applicability to cities. Cities, too, are constellations of networks and laws of scalability relate with eerie precision to them. For every doubling in a city's size, the city needs 15% less road, electrical wire, and gas stations to support the same population. More amazingly, for every doubling in size, cities produce 15% more patents and more wealth, as well as 15% more crime and disease. This broad pattern lays the groundwork for a new science of cities. Recently, West has applied his revolutionary work on cities and biological life to the business world. This investigation has led to powerful insights into why some companies thrive while others fail. The implications of these discoveries are far-reaching, and are just beginning to be explored. Scale is a thrilling scientific adventure story about the elemental natural laws that bind us together in simple but profound ways. Through the brilliant mind of Geoffrey West, we can envision how cities, companies and biological life alike are dancing to the same simple, powerful tune, however diverse and unrelated they are to each other.From the Hardcover edition.

Hacker's Delight


Henry S. Warren Jr. - 2002
    Aiming to tell the dark secrets of computer arithmetic, this title is suitable for library developers, compiler writers, and lovers of elegant hacks.

Algorithmic Puzzles


Anany V. Levitin - 2011
    This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with major corporations to show readers how to apply analytical thinking to solve puzzles requiring well-defined procedures.The book's unique collection of puzzles is supplemented with carefully developed tutorials on algorithm design strategies and analysis techniques intended to walk the reader step-by-step through the various approaches to algorithmic problem solving. Mastery of these strategies--exhaustive search, backtracking, and divide-and-conquer, among others--will aid the reader in solving not only the puzzles contained in this book, but also others encountered in interviews, puzzle collections, and throughout everyday life. Each of the 150 puzzles contains hints and solutions, along with commentary onthe puzzle's origins and solution methods. The only book of its kind, Algorithmic Puzzles houses puzzles for all skill levels. Readers with only middle school mathematics will develop their algorithmic problem-solving skills through puzzles at the elementary level, while seasoned puzzle solvers will enjoy the challenge of thinking throughmore difficult puzzles.

The Meme Machine


Susan Blackmore - 1999
    The meme is also one of the most important--and controversial--concepts to emerge since 'The Origin of the Species' appeared nearly 150 years ago.In 'The Meme Machine' Susan Blackmore boldly asserts: "Just as the design of our bodies can be understood only in terms of natural selection, so the design of our minds can be understood only in terms of memetic selection." Indeed, Blackmore shows that once our distant ancestors acquired the crucial ability to imitate, a second kind of natural selection began, a survival of the fittest amongst competing ideas and behaviors. Ideas and behaviors that proved most adaptive - making tools, for example, or using language--survived and flourished, replicating themselves in as many minds as possible. These memes then passed themselves on from generation to generation by helping to ensure that the genes of those who acquired them also survived and reproduced. Applying this theory to many aspects of human life, Blackmore offers brilliant explanations for why we live in cities, why we talk so much, why we can't stop thinking, why we behave altruistically, how we choose our mates, and much more.With controversial implications for our religious beliefs, our free will, our very sense of "self," 'The Meme Machine' offers a provocative theory everyone will soon be talking about.

Mastering Algorithms with Perl


Jon Orwant - 1999
    Computer scientists have identified many techniques that a wide range of programs need, such as: Fuzzy pattern matching for text (identify misspellings!) Finding correlations in data Game-playing algorithms Predicting phenomena such as Web traffic Polynomial and spline fitting Using algorithms explained in this book, you too can carry out traditional programming tasks in a high-powered, efficient, easy-to-maintain manner with Perl.This book assumes a basic understanding of Perl syntax and functions, but not necessarily any background in computer science. The authors explain in a readable fashion the reasons for using various classic programming techniques, the kind of applications that use them, and -- most important -- how to code these algorithms in Perl.If you are an amateur programmer, this book will fill you in on the essential algorithms you need to solve problems like an expert. If you have already learned algorithms in other languages, you will be surprised at how much different (and often easier) it is to implement them in Perl. And yes, the book even has the obligatory fractal display program.There have been dozens of books on programming algorithms, some of them excellent, but never before has there been one that uses Perl.The authors include the editor of The Perl Journal and master librarian of CPAN; all are contributors to CPAN and have archived much of the code in this book there."This book was so exciting I lost sleep reading it." Tom Christiansen

Cure Tight Hips Anywhere: Open Locked Up Hips and Pelvis Anytime, Anywhere (Simple Strength Book 1)


Sean Schniederjan - 2014
     This book gives the simplest exercises on the market to open your hips with effective correctives you can do anywhere. This program was designed to not only be convenient, but also comprehensive. It breaks down an easy set of progressions and goals to get the muscles on your pelvis, lower back, and hips/upper legs to function. Doing these exercises will: -restore balance to your body -instantly improve your posture and hip mobility -strengthen your hips in addition to opening them leaving you feeling "tied together" and fantastic.

Four Colors Suffice: How the Map Problem Was Solved


Robin J. Wilson - 2002
    This is the amazing story of how the "map problem" was solved.The problem posed in the letter came from a former student: What is the least possible number of colors needed to fill in any map (real or invented) so that neighboring counties are always colored differently? This deceptively simple question was of minimal interest to cartographers, who saw little need to limit how many colors they used. But the problem set off a frenzy among professional mathematicians and amateur problem solvers, among them Lewis Carroll, an astronomer, a botanist, an obsessive golfer, the Bishop of London, a man who set his watch only once a year, a California traffic cop, and a bridegroom who spent his honeymoon coloring maps. In their pursuit of the solution, mathematicians painted maps on doughnuts and horseshoes and played with patterned soccer balls and the great rhombicuboctahedron. It would be more than one hundred years (and countless colored maps) later before the result was finally established. Even then, difficult questions remained, and the intricate solution--which involved no fewer than 1,200 hours of computer time--was greeted with as much dismay as enthusiasm.Providing a clear and elegant explanation of the problem and the proof, Robin Wilson tells how a seemingly innocuous question baffled great minds and stimulated exciting mathematics with far-flung applications. This is the entertaining story of those who failed to prove, and those who ultimately did prove, that four colors do indeed suffice to color any map.