Async in C# 5.0


Alex Davies - 2012
    Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application.Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects.Write your own asynchronous code, and learn how async saves you from this messy choreDiscover new performance possibilities in ASP.NET web server codeExplore how async and WinRT work together in Windows 8 applicationsLearn the importance of the await keyword in async methodsUnderstand which .NET thread is running your code—and at what points in the programUse the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NETTake advantage of parallel computing in modern machinesMeasure async code performance by comparing it with alternatives

Data Structures Using C++


D.S. Malik - 2003
    D.S. Malik is ideal for a one-semester course focused on data structures. Clearly written with the student in mind, this text focuses on Data Structures and includes advanced topics in C++ such as Linked Lists and the Standard Template Library (STL). This student-friendly text features abundant Programming Examples and extensive use of visual diagrams to reinforce difficult topics. Students will find Dr. Malik's use of complete programming code and clear display of syntax, explanation, and example easy to read and conducive to learning.

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.

Modern C++ Design: Generic Programming and Design Patterns Applied


Andrei Alexandrescu - 2001
    Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. This book introduces the concept of generic components--reusable design templates that produce boilerplate code for compiler consumption--all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include: Policy-based design for flexibility Partial template specialization Typelists--powerful type manipulation structures Patterns such as Visitor, Singleton, Command, and Factories Multi-method engines For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.

Programming in Scala


Martin Odersky - 2008
     Coauthored by the designer of the Scala language, this authoritative book will teach you, one step at a time, the Scala language and the ideas behind it. The book is carefully crafted to help you learn. The first few chapters will give you enough of the basics that you can already start using Scala for simple tasks. The entire book is organized so that each new concept builds on concepts that came before - a series of steps that promises to help you master the Scala language and the important ideas about programming that Scala embodies. A comprehensive tutorial and reference for Scala, this book covers the entire language and important libraries.

Introductory Linear Algebra: An Applied First Course


Bernard Kolman - 1988
    Calculus is not a prerequisite, although examples and exercises using very basic calculus are included (labeled Calculus Required.) The most technology-friendly text on the market, Introductory Linear Algebra is also the most flexible. By omitting certain sections, instructors can cover the essentials of linear algebra (including eigenvalues and eigenvectors), to show how the computer is used, and to introduce applications of linear algebra in a one-semester course.

Discrete Mathematics


Richard Johnsonbaugh - 1984
    Focused on helping students understand and construct proofs and expanding their mathematical maturity, this best-selling text is an accessible introduction to discrete mathematics. Johnsonbaugh's algorithmic approach emphasizes problem-solving techniques. The Seventh Edition reflects user and reviewer feedback on both content and organization.

Chance: The science and secrets of luck, randomness and probability


New Scientist - 2016
    So it's not surprising that we persist in thinking that we're in with a chance, whether we're playing the lottery or working out the likelihood of extra-terrestrial life. In Chance, a (not entirely) random selection of the New Scientist's sharpest minds provide fascinating insights into luck, randomness, risk and probability. From the secrets of coincidence to placing the perfect bet, the science of random number generation to the surprisingly haphazard decisions of criminal juries, it explores these and many other tantalising questions.Following on from the bestselling Nothing and Question Everything, this book will open your eyes to the weird and wonderful world of chance - and help you see when some things, in fact, aren't random at all.

99 Bottles of OOP


Sandi Metz - 2016
    This book fills that gap. It explains the process of writing good code, and teaches you to achieve beautifully programmed ends by way of extremely practical means. What It's About99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code. It explores: Recognizing when code is "good enough"Getting the best value from Test-Driven Development (TDD)Doing proper refactoring, not random "rehacktoring"Locating concepts buried in codeFinding names that convey deeper meaning Safely altering code by following the "Flocking Rules" Simplifying new additions with the Open/Closed PrincipleAvoiding conditionals by obeying the Liskov Substitution PrincipleMaking targeted improvements by reducing Code SmellsWhat Makes It Unique?We are practical people. We love beautiful code but we're committed to getting things done. 99 Bottles of OOP enables both of these desires. It teaches a practical technique for getting things done that leads, naturally and inevitably, to beautiful code.This book contains an extended refactoring, and it details the rationale behind every change. It is a hands-on workbook rather than a list of theoretical ideas. It explains how to use the principles of object-oriented design to guide, not just the final arrangement of code, but each decision about what line of code to write next.It teaches the theory of what good OO looks like, but even better, it supplies step-by-step guidance about how to achieve it.Who Should Read It?The lessons work for programmers with a broad range of experience, from rank novice to grizzled veteran. The code examples are written in Ruby, but this book is not about Ruby--it's about object-oriented programming and design. Regardless of your background, applying these techniques will make your code easier to understand, simpler to change, and more satisfying to contemplate.

How to Solve It: Modern Heuristics


Zbigniew Michalewicz - 2004
    Publilius Syrus, Moral Sayings We've been very fortunate to receive fantastic feedback from our readers during the last four years, since the first edition of How to Solve It: Modern Heuristics was published in 1999. It's heartening to know that so many people appreciated the book and, even more importantly, were using the book to help them solve their problems. One professor, who published a review of the book, said that his students had given the best course reviews he'd seen in 15 years when using our text. There can be hardly any better praise, except to add that one of the book reviews published in a SIAM journal received the best review award as well. We greatly appreciate your kind words and personal comments that you sent, including the few cases where you found some typographical or other errors. Thank you all for this wonderful support.

The Passionate Programmer


Chad Fowler - 2009
    In this book, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product. The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. We'll walk through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas. You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll also get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths. As with any product or service, if nobody knows what you're selling, nobody will buy. We'll walk through the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general. Above all, you'll see how you can set the direction of your career, leading to a more fulfilling and remarkable professional life.

Accidental Empires


Robert X. Cringely - 1992
    Accidental Empires is the trenchant, vastly readable history of that industry, focusing as much on the astoundingly odd personalities at its core—Steve Jobs, Bill Gates, Mitch Kapor, etc. and the hacker culture they spawned as it does on the remarkable technology they created. Cringely reveals the manias and foibles of these men (they are always men) with deadpan hilarity and cogently demonstrates how their neuroses have shaped the computer business. But Cringely gives us much more than high-tech voyeurism and insider gossip. From the birth of the transistor to the mid-life crisis of the computer industry, he spins a sweeping, uniquely American saga of creativity and ego that is at once uproarious, shocking and inspiring.

Stealing the Network: The Complete Series Collector's Edition, Final Chapter, and DVD: The Complete Series


Johnny Long - 2009
    It combines stories that are fictional, with technology that is real. While none of the stories have happened, there is no reason why they could not. You could argue it provides a road map for criminal hackers, but I say it does something else: it provides a glimpse into the creative minds of some of today's best hackers, and even the best hackers will tell you that the game is a mental one' - from the Foreword to the first "Stealing the Network" book, "How to Own the Box", Jeff Moss, Founder & Director, Black Hat, Inc. and Founder of DEFCON. For the very first time, the complete "Stealing the Network" epic is available in an enormous, over 1000 page volume complete with the final chapter of the saga and a DVD filled with behind the scenes video footage! These groundbreaking books created a fictional world of hacker superheroes and villains based on real world technology, tools, and tactics. It is almost as if the authors peered into the future as many of the techniques and scenarios in these books have come to pass. This book contains all of the material from each of the four books in the "Stealing the Network" series. All of the stories and tech from: "How to Own the Box"; "How to Own a Continent"; "How to Own an Identity"; and, "How to Own a Shadow". Plus: finally - find out how the story ends! The final chapter is here! There is a DVD full of behind the scenes stories and insider info about the making of these cult classics! Now for the first time the entire series is one 1000 plus page book. The DVD contains 20 minutes of behind the scenes footage. Readers will finally learn the fate of 'Knuth' in the much anticipated final chapter.

Mindstorms: Children, Computers, And Powerful Ideas


Seymour Papert - 1980
    We have Mindstorms to thank for that. In this book, pioneering computer scientist Seymour Papert uses the invention of LOGO, the first child-friendly programming language, to make the case for the value of teaching children with computers. Papert argues that children are more than capable of mastering computers, and that teaching computational processes like de-bugging in the classroom can change the way we learn everything else. He also shows that schools saturated with technology can actually improve socialization and interaction among students and between students and teachers.

C++ Standard Library: A Tutorial and Reference


Nicolai M. Josuttis - 1999
    The library is not self-explanatory or fully consistent, and there are still some traps for the unwary. But the advantages far outweigh the problems, especially if you've got an expert book like Nicolai Josuttis' C++ Standard Library to help you. Josuttis starts with an overview of the standard library, and its key interrelationships with the core language. He presents detailed coverage of the STL, the most powerful, complex, and exciting part of the library; then covers special containers, strings, numeric classes, and internationalization; and helps you get more out of a component you're probably already using: the IOStream library. Every component description includes purpose, design, code examples, practical scenarios, pitfalls, and in most cases, reference sources. Whether you need a tutorial or reference, this book delivers the goods.— (Bill Camarda, bn.com, editor)