The Bug


Ellen Ullman - 2003
    She brings it to its inadvertent creator, longtime programmer Ethan Levin, and the two embark on a hunt for the elusive bug, nicknamed “The Jester” for its tendency to appear randomly and only at the least opportune moments, jeopardizing the fate of the company. Ethan’s attempts to find a solution soon become a frightening obsession that threatens to destroy both his professional and personal life. Roberta, on the other hand, is drawn to the challenge. Forced to learn how to program, and seeking refuge from her own private troubles, she becomes enthralled with learning to speak the computer’s language. Expertly merging code with prose, big ideas with intensely personal stories, Ellen Ullman brilliantly illuminates the space between human beings and computers—a space we occupy every day as we peer into our monitors.

Exam Ref 70-480: Programming in HTML5 with JavaScript and CSS3


Rick Delorme - 2013
    Designed for experienced developers ready to advance their status, Exam Ref focuses on the critical-thinking and decision-making acumen needed for success at the Microsoft Specialist level.Focus on the expertise measured by these objectives:Implement and manipulate document structures and objectsImplement program flowAccess and secure dataUse CSS3 in applicationsThis Microsoft Exam Ref:Organizes its coverage by exam objectives.Features strategic, what-if scenarios to challenge you.Includes a 15% exam discount from Microsoft. (Limited time offer)

A Practitioner's Guide to Software Test Design


Lee Copeland - 2003
    This book presents all the important test design techniques in a single place and in a consistent and easy-to-digest format. An immediately useful handbook for test engineers, developers, quality assurance professionals and requirements and systems analysts, it enables you to: choose the best test case design; find software defects in less time and with fewer resources; and develop optimal strategies that help reduce the likelihood of costly errors. It also assists you in estimating the effort, time and cost of good testing. included, helping you to fully understand the practical applications of these techniques. From well-established techniques such as equivalence classes, boundary value analysis, decision tables and state-transition diagrams, to new techniques like use case testing, pairwise testing and exploratory testing, the book is a usful resource for testing professionals seeking to improve their skills and a handy reference for college-level courses in software test design.

Head First Programming: A Learner's Guide to Programming Using the Python Language


Paul Barry - 2008
    This book offers concrete examples and exercises in the dynamic and versatile Python language to demonstrate and reinforce these concepts. Learn the basic tools to start writing the programs that interest you, and get a better understanding of what software can (and cannot) do. When you're finished, you'll have the necessary foundation to learn any programming language or tackle any software project you choose. With a focus on programming concepts, this book teaches you how to:Understand the core features of all programming languages, including: variables, statements, decisions, loops, expressions, and operatorsReuse code with functionsUse library code to save time and effortSelect the best data structure to manage complex dataWrite programs that talk to the WebShare your data with other programsWrite programs that test themselves and help you avoid embarrassing coding errors.Contents Intro xxiii1 Starting to Code: Finding Your Way2 Textual Data: Every String Has Its Place3 Functions: Let’s Get Organized4 Data Files and Arrays: Sort It Out5 Hashes and Databases: Putting Data in Its Place6 Modular Programming: Keeping Things Straight7 Building a Graphical User Interface: Going All Gooey8 GUIs and Data: Data Entry Widgets8 1/2 Exceptions and Message Boxes: Get the Message? 9 Graphical Interface Elements: Selecting the Right Tool10 Custom Widgets and Classes: With an Object in MindAppendix i Leftovers: The Top Ten Things (We Didn’t Cover)

You Look Like a Thing and I Love You: How Artificial Intelligence Works and Why It's Making the World a Weirder Place


Janelle Shane - 2019
    according to an artificial intelligence trained by scientist Janelle Shane, creator of the popular blog "AI Weirdness." She creates silly AIs that learn how to name paint colors, create the best recipes, and even flirt (badly) with humans--all to understand the technology that governs so much of our daily lives.We rely on AI every day for recommendations, for translations, and to put cat ears on our selfie videos. We also trust AI with matters of life and death, on the road and in our hospitals. But how smart is AI really, and how does it solve problems, understand humans, and even drive self-driving cars?Shane delivers the answers to every AI question you've ever asked, and some you definitely haven't--like, how can a computer design the perfect sandwich? What does robot-generated Harry Potter fan-fiction look like? And is the world's best Halloween costume really "Vampire Hog Bride"?In this smart, often hilarious introduction to the most interesting science of our time, Shane shows how these programs learn, fail, and adapt--and how they reflect the best and worst of humanity. You Look Like a Thing and I Love You is the perfect book for anyone curious about what the robots in our lives are thinking.

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.

Programming Pearls


Jon L. Bentley - 1986
    Jon has done a wonderful job of updating the material. I am very impressed at how fresh the new examples seem." - Steve McConnell, author, Code CompleteWhen programmers list their favorite books, Jon Bentley's collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley's pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on (1) testing, debugging, and timing; (2) set representations; and (3) string problems. All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web.What remains the same in this new edition is Bentley's focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley's classic or are revisiting his work for some fresh insight, this book is sure to make your own list of favorites.

Windows Powershell in Action


Bruce Payette - 2007
    In the tradition of Manning's ground breaking "In Action" series, this book comes from right from the source. Written by Bruce Payette, one of principal creators of PowerShell, Windows PowerShell in Action shows you how to build scripts and utilities to automate system tasks or create powerful system management tools to handle the day-to-day tasks that drive a Windows administrator's life. Because it's based on the .NET platform, PowerShell is also a powerful tool for developers and power users.Windows PowerShell in Action was written by Bruce Payette, one of the founding members of the Windows PowerShell team, co-designer of the PowerShell language and the principal author of the PowerShell language implementation. The book enables you to get the most out of the PowerShell environment. Using many examples, both small and large, this book illustrates the features of the language and environment and shows how to compose those features into solutions, quickly and effectively.This book is designed for anyone who wants to learn PowerShell and use it well. Rather than simply being a book of recipes to read and apply, this book gives you the deep knowledge about how PowerShell works and how to apply it.

iWoz: Computer Geek to Cult Icon: How I Invented the Personal Computer, Co-Founded Apple, and Had Fun Doing It


Steve Wozniak - 2006
    individual whose contributions to the scientific, business and cultural realms are extensive."—BookpageBefore slim laptops that fit into briefcases, computers looked like strange, alien vending machines. But in "the most staggering burst of technical invention by a single person in high-tech history" (BusinessWeek​) Steve Wozniak invented the first true personal computer. Wozniak teamed up with Steve Jobs, and Apple Computer was born, igniting the computer revolution and transforming the world. Here, thirty years later, the mischievous genius with the low profile treats readers to a rollicking, no-holds-barred account of his life—for once, in the voice of the wizard himself.

Alan Turing: The Enigma


Andrew Hodges - 1983
    His breaking of the German U-boat Enigma cipher in World War II ensured Allied-American control of the Atlantic. But Turing's vision went far beyond the desperate wartime struggle. Already in the 1930s he had defined the concept of the universal machine, which underpins the computer revolution. In 1945 he was a pioneer of electronic computer design. But Turing's true goal was the scientific understanding of the mind, brought out in the drama and wit of the famous "Turing test" for machine intelligence and in his prophecy for the twenty-first century.Drawn in to the cockpit of world events and the forefront of technological innovation, Alan Turing was also an innocent and unpretentious gay man trying to live in a society that criminalized him. In 1952 he revealed his homosexuality and was forced to participate in a humiliating treatment program, and was ever after regarded as a security risk. His suicide in 1954 remains one of the many enigmas in an astonishing life story.

Programming WCF Services


Juval Lowy - 2007
    Relentlessly practical, the book delivers insight, not documentation, to teach developers what they need to know to build the next generation of SOAs.After explaining the advantages of service-orientation for application design and teaching the basics of how to develop SOAs using WCF, the book shows how you can take advantage of built-in features such as service hosting, instance management, asynchronous calls, synchronization, reliability, transaction management, disconnected queued calls and security to build best in class applications. "Programming WCF Services" focuses on the rationale behind particular design decisions, often shedding light on poorly-documented and little-understood aspects of SOA development. Developers and architects will learn not only the "how" of WCF programming, but also relevant design guidelines, best practices, and pitfalls. Original techniques and utilities provided by the author throughout the book go well beyond anything that can be found in conventional sources.Based on experience and insight gained while taking part in the strategic design of WCF and working with the team that implemented it, "Programming WCF Services" provides experienced working professionals with the definitive work on WCF. Not only will this book make you a WCF expert, it will make you a better software engineer. It's the Rosetta Stone of WCF.