A Sense of the Mysterious: Science and the Human Spirit


Alan Lightman - 2005
    Along the way, he provides in-depth portraits of some of the great geniuses of our time, including Albert Einstein, Richard Feynman, Edward Teller, and astronomer Vera Rubin. Thoughtful, beautifully written, and wonderfully original, A Sense of the Mysterious confirms Alan Lightman's unique position at the crossroads of science and art.

Hilbert


Constance Bowman Reid - 1970
    These noteworthy accounts of the lives of David Hilbert and Richard Courant are closely related: Courant's story is, in many ways, seen as the sequel to the story of Hilbert. Originally published to great acclaim, both books explore the dramatic scientific history expressed in the lives of these two great scientists and described in the lively, nontechnical writing style of Contance Reid.

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.

The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World


Pedro Domingos - 2015
    In The Master Algorithm, Pedro Domingos lifts the veil to give us a peek inside the learning machines that power Google, Amazon, and your smartphone. He assembles a blueprint for the future universal learner--the Master Algorithm--and discusses what it will mean for business, science, and society. If data-ism is today's philosophy, this book is its bible.

Vintage Games: An Insider Look at the History of Grand Theft Auto, Super Mario, and the Most Influential Games of All Time


Bill Loguidice - 2009
    Drawing on interviews as well as the authors' own lifelong experience with videogames, the book discusses each game's development, predecessors, critical reception, and influence on the industry. It also features hundreds of full-color screenshots and images, including rare photos of game boxes and other materials. Vintage Games is the ideal book for game enthusiasts and professionals who desire a broader understanding of the history of videogames and their evolution from a niche to a global market.

Other People's Words: The Cycle of Low Literacy


Victoria Purcell-Gates - 1995
    These are the children and grandchildren of Appalachian families who migrated to northern cities in the 1950s to look for work. They make up this largely "invisible" urban group, a minority that represents a significant portion of the urban poor. Literacy researchers have rarely studied urban Appalachians, yet, as Victoria Purcell-Gates demonstrates in Other People's Words, their often severe literacy problems provide a unique perspective on literacy and the relationship between print and culture.A compelling case study details the author's work with one such family. The parents, who attended school off and on through the seventh grade, are unable to use public transportation, shop easily, or understand the homework their elementary-school-age son brings home because neither of them can read. But the family is not so much illiterate as low literate--the world they inhabit is an oral one, their heritage one where print had no inherent use and no inherent meaning. They have as much to learn about the culture of literacy as about written language itself.Purcell-Gates shows how access to literacy has been blocked by a confluence of factors: negative cultural stereotypes, cultural and linguistic elitism, and pedagogical obtuseness. She calls for the recruitment and training of "proactive" teachers who can assess and encourage children's progress and outlines specific intervention strategies.

Program or Be Programmed: Ten Commands for a Digital Age


Douglas Rushkoff - 2010
    But for all the heat of claim and counter-claim, the argument is essentially beside the point: it’s here; it’s everywhere. The real question is, do we direct technology, or do we let ourselves be directed by it and those who have mastered it? “Choose the former,” writes Rushkoff, “and you gain access to the control panel of civilization. Choose the latter, and it could be the last real choice you get to make.” In ten chapters, composed of ten “commands” accompanied by original illustrations from comic artist Leland Purvis, Rushkoff provides cyberenthusiasts and technophobes alike with the guidelines to navigate this new universe.In this spirited, accessible poetics of new media, Rushkoff picks up where Marshall McLuhan left off, helping readers come to recognize programming as the new literacy of the digital age––and as a template through which to see beyond social conventions and power structures that have vexed us for centuries. This is a friendly little book with a big and actionable message. World-renowned media theorist and counterculture figure Douglas Rushkoff is the originator of ideas such as “viral media,” “social currency” and “screenagers.” He has been at the forefront of digital society from its beginning, correctly predicting the rise of the net, the dotcom boom and bust, as well as the current financial crisis. He is a familiar voice on NPR, face on PBS, and writer in publications from Discover Magazine to the New York Times.“Douglas Rushkoff is one of the great thinkers––and writers––of our time.” —Timothy Leary“Rushkoff is damn smart. As someone who understood the digital revolution faster and better than almost anyone, he shows how the internet is a social transformer that should change the way your business culture operates." —Walter Isaacson

Kotlin for Android Developers: Learn Kotlin the easy way while developing an Android App


Antonio Leiva - 2016
    

Schools Cannot Do It Alone


Jamie Vollmer - 2010
    His encounters with blueberries, bell curves, and smelly eighth graders lead him to two critical discoveries. First, we have a systems problem, not a people problem. We must change the system to get the graduates we need. Second, we cannot touch the system without touching the culture of the surrounding town; everything that goes on inside a school is tied to local attitudes, values, traditions, and beliefs. Drawing on his work in hundreds of districts, Jamie offers teachers, administrators, board members, and their allies a practical program to secure the understanding, trust, permission, and support they need to change the system and increase student succes

The Psychology of Computer Programming


Gerald M. Weinberg - 1971
    Weinberg adds new insights and highlights the similarities and differences between now and then. Using a conversational style that invites the reader to join him, Weinberg reunites with some of his most insightful writings on the human side of software engineering.Topics include egoless programming, intelligence, psychological measurement, personality factors, motivation, training, social problems on large projects, problem-solving ability, programming language design, team formation, the programming environment, and much more.Dorset House Publishing is proud to make this important text available to new generations of programmers -- and to encourage readers of the first edition to return to its valuable lessons.

Modern C++ Programming with Test-Driven Development: Code Better, Sleep Better


Jeff Langr - 2013
    Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++.Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard. In this book, you'll learn: how to use TDD to improve legacy C++ systems how to identify and deal with troublesome system dependencies how to do dependency injection, which is particularly tricky in C++ how to use testing tools for C++ that aid TDD new C++11 features that facilitate TDD As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team. Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++.What You Need A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2. Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice. A good programmer's editor or IDE. cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9. Various freely-available third-party libraries are used as the basis for examples in the book. These include: - cURL - JsonCpp - Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.

File Structures: An Object-Oriented Approach with C++


Michael J. Folk - 1997
    By following the many programming examples included in the book and in the exercise sets, readers will gain a significant understanding of object-oriented techniques and will see how C++ can be an effective software development tool. HIGHLIGHTS *Presents file structures techniques, including direct access I/O, buffer packing and unpacking, indexing, cosequential processing, B-trees, and external hashing. *Includes extensive coverage of secondary storage devices, including disk, tape, and CD-ROM. *Covers the practice of object-oriented design and programming with complete implementations in C++. Every line of code in the book has been tested on a variety of C++ systems and is available on the Internet. *Develops a collection of C++ classes that provide a framework for solving file structure problems. *Includes class definitions, sample applications and programming problems and exercises, making this book a valuable learning and reference tool. ** Instructors materials are available from your sales rep. If you do not know your local sales representative, p

Air & Light & Time & Space: How Successful Academics Write


Helen Sword - 2017
    Helen Sword interviewed one hundred academics worldwide about their writing background and practices. Relatively few were trained as writers, she found, and yet all have developed strategies to thrive in their publish-or-perish environment.So how do these successful academics write, and where do they find the "air and light and time and space," in the words of poet Charles Bukowski, to get their writing done? What are their formative experiences, their daily routines, their habits of mind? How do they summon up the courage to take intellectual risks and the resilience to deal with rejection?Sword identifies four cornerstones that anchor any successful writing practice: Behavioral habits of discipline and persistence; Artisanal habits of craftsmanship and care; Social habits of collegiality and collaboration; and Emotional habits of positivity and pleasure. Building on this "BASE," she illuminates the emotional complexity of the writing process and exposes the lack of writing support typically available to early-career academics. She also lays to rest the myth that academics must produce safe, conventional prose or risk professional failure. The successful writers profiled here tell stories of intellectual passions indulged, disciplinary conventions subverted, and risk-taking rewarded. Grounded in empirical research and focused on sustainable change, Air & Light & Time & Space offers a customizable blueprint for refreshing personal habits and creating a collegial environment where all writers can flourish.

Agile Software Development, Principles, Patterns, and Practices


Robert C. Martin - 2002
    The author incudes OOD, UML, Design Patterns, Agile and XP methods with a detailed description of a complete software design for reusable programs in C++ and Java. Using a practical, problem-solving approach, it shows how to develop an object-oriented application -- from the early stages of analysis, through the low-level design and into the implementation. Walks readers through the designer's thoughts -- showing the errors, blind alleys, and creative insights that occur throughout the software design process. KEY TOPICS: Covers: Statics and Dynamics; Principles of Class Design; Complexity Management; Principles of Package Design; Analysis and Design; Patterns and Paradigm Crossings. Explains the principles of OOD, one by one, and then demonstrates them with numerous examples, completely worked-through designs, and case studies. Covers traps, pitfalls, and work arounds in the application of C++ and OOD and then shows how Agile methods can be used. Discusses the methods for designing and developing big software in detail. Features a three-chapter, in-depth, single case study of a building security system. MARKET: For Software Engineers, Programmers, and Analysts who want to understand how to design object oriented software with state of the art methods.

The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win


Gene Kim - 2013
    It's Tuesday morning and on his drive into the office, Bill gets a call from the CEO. The company's new IT initiative, code named Phoenix Project, is critical to the future of Parts Unlimited, but the project is massively over budget and very late. The CEO wants Bill to report directly to him and fix the mess in ninety days or else Bill's entire department will be outsourced. With the help of a prospective board member and his mysterious philosophy of The Three Ways, Bill starts to see that IT work has more in common with manufacturing plant work than he ever imagined. With the clock ticking, Bill must organize work flow streamline interdepartmental communications, and effectively serve the other business functions at Parts Unlimited. In a fast-paced and entertaining style, three luminaries of the DevOps movement deliver a story that anyone who works in IT will recognize. Readers will not only learn how to improve their own IT organizations, they'll never view IT the same way again.