Think Stats


Allen B. Downey - 2011
    This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.You'll work with a case study throughout the book to help you learn the entire data analysis process—from collecting data and generating statistics to identifying patterns and testing hypotheses. Along the way, you'll become familiar with distributions, the rules of probability, visualization, and many other tools and concepts.Develop your understanding of probability and statistics by writing and testing codeRun experiments to test statistical behavior, such as generating samples from several distributionsUse simulations to understand concepts that are hard to grasp mathematicallyLearn topics not usually covered in an introductory course, such as Bayesian estimationImport data from almost any source using Python, rather than be limited to data that has been cleaned and formatted for statistics toolsUse statistical inference to answer questions about real-world data

The Visual Display of Quantitative Information


Edward R. Tufte - 1983
    Theory and practice in the design of data graphics, 250 illustrations of the best (and a few of the worst) statistical graphics, with detailed analysis of how to display data for precise, effective, quick analysis. Design of the high-resolution displays, small multiples. Editing and improving graphics. The data-ink ratio. Time-series, relational graphics, data maps, multivariate designs. Detection of graphical deception: design variation vs. data variation. Sources of deception. Aesthetics and data graphical displays. This is the second edition of The Visual Display of Quantitative Information. Recently published, this new edition provides excellent color reproductions of the many graphics of William Playfair, adds color to other images, and includes all the changes and corrections accumulated during 17 printings of the first edition.

BPMN Method & Style with BPMN Implementer's Guide


Bruce Silver - 2012
    The meaning of the business process diagram is the same, regardless of the tool used to create it. But creating models that are correct, complete, and clear demands more than a dictionary of BPMN shapes and symbols. It also requires a methodology for translating process logic consistently into the diagram. And it requires a measure of modeling style as well, conventions that ensure that the process logic is unambiguous from the diagram by itself. In short, "good BPMN" requires a disciplined approach called "method and style."In this book, Bruce Silver explains which BPMN elements process modelers need to understand, in two levels, including exactly where and how to use each element. Level 1 (the Descriptive modeling subclass of BPMN 2.0) is a palette of shapes and symbols largely carried over from traditional flowcharting. Level 2 (the Analytic subclass) expands the palette to be able to describe event-triggered behavior, critical to modeling exception handling.The book explains the real meaning of BPMN's most basic concepts - like activity, process, and end state - essential to using the language correctly, and provides a step-by-step methodology for going from a blank page to a complete end-to-end BPMN model, developed from the top down in a hierarchical structure. From the top-level diagram you can see on a single page exactly how the process starts, its possible end states, what the instance represents, and communications with the Customer, service providers, and other processes. From there you can drill down to see the details of any part of the process. Thie popular first edition of this book was published in 2009 based on the draft BPMN 2.0 specification. This second edition is based on the final BPMN 2.0 specification. Although the diagram elements have changed little since the first edition, both the methodology and style sections have been completely rewritten.The second half of the book, the BPMN Implementer's Guide, is completely new. It puts the focus on the XML serialization of the diagram, for both non-executable and executable process models. It details the BPMN 2.0 metamodel and XML Schema, and describes the BPMN-I Profile, a set of serialization rules that facilitate interchange of BPMN models in the Analytic subclass between tools. It also explains how BPMN 2.0 describes execution-related details, such as process data and data mapping, services, messages, and human task assignment, illustrated with an example executable process created in Bonita Open Solution. It concludes with guidelines for implementers on how to align executable design with business-oriented top-down process modeling.The book is lavishly illustrated with over 100 BPMN diagrams, and the BPMN Implementer's Guide section contains many XML examples as well.Bruce Silver is the leading provider of BPMN training and certification. He has been providing BPMN training since early 2007 and is regarded as an authority in the field.

Compilers: Principles, Techniques, and Tools


Alfred V. Aho - 1986
    The authors present updated coverage of compilers based on research and techniques that have been developed in the field over the past few years. The book provides a thorough introduction to compiler design and covers topics such as context-free grammars, fine state machines, and syntax-directed translation.

Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing


Rex Black - 1999
    The preeminent expert in his field, Mr.Black draws upon years of experience as president of both theInternational and American Software Testing Qualifications boardsto offer this extensive resource of all the standards, methods, andtools you'll need.The book covers core testing concepts and thoroughly examinesthe best test management practices and tools of leading hardwareand software vendors. Step-by-step guidelines and real-worldscenarios help you follow all necessary processes and avoidmistakes.Producing high-quality computer hardware and software requirescareful, professional testing; Managing the Testing Process, Third Edition explains how to achieve that by following adisciplined set of carefully managed and monitored practices andprocessesThe book covers all standards, methods, and tools you need forprojects large and smallPresents the business case for testing products and reviews theauthor's latest test assessmentsTopics include agile testing methods, risk-based testing, IEEEstandards, ISTQB certification, distributed and outsourced testing, and moreOver 100 pages of new material and case studies have been addedto this new editionIf you're responsible for managing testing in the real world, Managing the Testing Process, Third Edition is the valuablereference and guide you need.

Structure and Interpretation of Computer Programs


Harold Abelson - 1984
    This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard.

Web Form Design: Filling in the Blanks


Luke WroblewskiMicah Alpern - 2008
    In Web Form Design, Luke Wroblewski draws on original research, his considerable experience at Yahoo! and eBay, and the perspectives of many of the field's leading designers to show you everything you need to know about designing effective and engaging Web forms.

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

Python Crash Course: A Hands-On, Project-Based Introduction to Programming


Eric Matthes - 2015
    You'll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, you'll put your new knowledge into practice with three substantial projects: a Space Invaders-inspired arcade game, data visualizations with Python's super-handy libraries, and a simple web app you can deploy online.As you work through Python Crash Course, you'll learn how to: Use powerful Python libraries and tools, including matplotlib, NumPy, and PygalMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesWork with data to generate interactive visualizationsCreate and customize simple web apps and deploy them safely onlineDeal with mistakes and errors so you can solve your own programming problemsIf you've been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

Introduction to Algorithms


Thomas H. Cormen - 1989
    Each chapter is relatively self-contained and can be used as a unit of study. The algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The explanations have been kept elementary without sacrificing depth of coverage or mathematical rigor.

The Art of Doing Science and Engineering: Learning to Learn


Richard Hamming - 1996
    By presenting actual experiences and analyzing them as they are described, the author conveys the developmental thought processes employed and shows a style of thinking that leads to successful results is something that can be learned. Along with spectacular successes, the author also conveys how failures contributed to shaping the thought processes. Provides the reader with a style of thinking that will enhance a person's ability to function as a problem-solver of complex technical issues. Consists of a collection of stories about the author's participation in significant discoveries, relating how those discoveries came about and, most importantly, provides analysis about the thought processes and reasoning that took place as the author and his associates progressed through engineering problems.

The Art of Project Management


Scott Berkun - 2005
    Reading this was like reading the blueprint for how the best projects are managed at Microsoft... I wish we always put these lessons into action!" --Joe Belfiore, General Manager, E-home Division, Microsoft Corporation "Berkun has written a fast paced, jargon-free and witty guide to what he wisely refers to as the 'art' of project management. It's a great introduction to the discipline. Seasoned and new managers will benefit from Berkun's perspectives." --Joe Mirza, Director, CNET Networks (Cnet.com) "Most books with the words 'project management' in the title are dry tomes. If that's what you are expecting to hear from Berkun's book, you will be pleasantly surprised. Sure, it's about project management. But it's also about creativity, situational problem-solving, and leadership. If you're a team member, project manager, or even a non-technical stakeholder, Scott offers dozens of practical tools and techniques you can use, and questions you can ask, to ensure your projects succeed." --Bill Bliss, Senior VP of product and customer experience, expedia.com In The Art of Project Management, you'll learn from a veteran manager of software and web development how to plan, manage, and lead projects. This personal account of hard lessons learned over a decade of work in the industry distills complex concepts and challenges into practical nuggets of useful advice. Inspiring, funny, honest, and compelling, this is the book you and your team need to have within arms reach. It will serve you well with your current work, and on future projects to come. Topics include:How to make things happenMaking good decisionsSpecifications and requirementsIdeas and what to do with themHow not to annoy peopleLeadership and trustThe truth about making datesWhat to do when things go wrong

Data Science for Business: What you need to know about data mining and data-analytic thinking


Foster Provost - 2013
    This guide also helps you understand the many data-mining techniques in use today.Based on an MBA course Provost has taught at New York University over the past ten years, Data Science for Business provides examples of real-world business problems to illustrate these principles. You’ll not only learn how to improve communication between business stakeholders and data scientists, but also how participate intelligently in your company’s data science projects. You’ll also discover how to think data-analytically, and fully appreciate how data science methods can support business decision-making.Understand how data science fits in your organization—and how you can use it for competitive advantageTreat data as a business asset that requires careful investment if you’re to gain real valueApproach business problems data-analytically, using the data-mining process to gather good data in the most appropriate wayLearn general concepts for actually extracting knowledge from dataApply data science principles when interviewing data science job candidates

Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL


Dean Allemang - 2008
    There are many sources too for basic information on the extensions to the WWW that permit content to be expressed in natural language yet used by software agents to easily find, share and integrate information. Until now individuals engaged in creating ontologies-- formal descriptions of the concepts, terms, and relationships within a given knowledge domain-- have had no sources beyond the technical standards documents.Semantic Web for the Working Ontologist transforms this information into the practical knowledge that programmers and subject domain experts need. Authors Allemang and Hendler begin with solutions to the basic problems, but don't stop there: they demonstrate how to develop your own solutions to problems of increasing complexity and ensure that your skills will keep pace with the continued evolution of the Semantic Web.

Rethinking the Internet of Things: A Scalable Approach to Connecting Everything


Francis Dacosta - 2013
    Billions of interconnected devices will be monitoring the environment, transportation systems, factories, farms, forests, utilities, soil and weather conditions, oceans and resources Many of these sensors and actuators will be networked into autonomous sets, with much of the information being exchanged machine-to-machine directly and without human involvement. Machine-to-machine communications are typically terse. Most sensors and actuators will report or act upon small pieces of information - chirps. Burdening these devices with current network protocol stacks is inefficient, unnecessary and unduly increases their cost of ownership. This must change. The architecture of the Internet of Things will entail a widely distributed topology incorporating simpler chirp protocols towards at the edges of the network. Rethinking the Internet of Things describes reasons why we must rethink current approaches to the Internet of Things. Appropriate architectures that will coexist with existing networking protocols are described in detail. An architecture comprised of integrator functions, propagator nodes, and end devices, along with their interactions, is explored. What you'll learn Teaches the difference between the "normal" Internet and the Internet of Things, Describes a new architecture and its components in the "chirp" context. Explains the shortcomings of IP for IoT. Describes the anatomy of the IoT. Re-frames key ideas such as reliability. Describes how to build the IoT Who this book is forThought leaders, executives, architectural, standards and development leaders in the evolving IoT industry