Your cart is empty
Prepare for programming success as you learn the fundamental principles of developing structured program logic with Farrell's fully revised PROGRAMMING LOGIC AND DESIGN, COMPREHENSIVE, 9E. Ideal for mastering foundational programming, this popular book takes a unique, language-independent approach to programming with a distinctive emphasis on modern conventions. Noted for its clear writing style and complete coverage, the book eliminates highly technical jargon while introducing you to universal programming concepts and encouraging a strong programming style and logical thinking. Frequent side notes and Quick Reference boxes provide concise explanations of important programming concepts. Each chapter also contains learning objectives, a concise summary, and a helpful list of key terms. End-of-chapter material ensures your comprehension with multiple-choice review, programming and debugging exercises, and a maintenance exercise that encourages you to improve working logic.
The Business Analysts completely dissolves the perception that the IT industry dictates to businesses what IT systems they will use and dispels the myth that business users and IT technicians are from different planets. It suggests how to create an environment in which everybody works together in an exciting and refreshing way – a paradigm shift in the way business analysis projects are done.
The IT industry has to move to a point where it realises that the users of IT systems and the technical personnel are both equally responsible for getting the system to work. The users of the IT system should be an integral part of the team when the system is being put together. This, unfortunately, is not the norm within the industry. It is the business analyst’s responsibility, among others, to make sure that communication flows freely between all the parties involved.
This book gives the business analyst the tools and techniques to find out what the business users of IT systems really need and to guide the project to meet those needs.
Category theory is unmatched in its ability to organize and layer abstractions and to find commonalities between structures of all sorts. No longer the exclusive preserve of pure mathematicians, it is now proving itself to be a powerful tool in science, informatics, and industry. By facilitating communication between communities and building rigorous bridges between disparate worlds, applied category theory has the potential to be a major organizing force. This book offers a self-contained tour of applied category theory. Each chapter follows a single thread motivated by a real-world application and discussed with category-theoretic tools. We see data migration as an adjoint functor, electrical circuits in terms of monoidal categories and operads, and collaborative design via enriched profunctors. All the relevant category theory, from simple to sophisticated, is introduced in an accessible way with many examples and exercises, making this an ideal guide even for those without experience of university-level mathematics.
Integrating case studies to show the object oriented approach to software engineering, Object-Oriented and Classical Software Engineering, 8/e presents an excellent introduction to software engineering fundamentals, covering both traditional and object-oriented techniques. While maintaining a unique organization with Part I covering underlying software engineering theory, and Part II presenting the more practical life cycle, the eighth edition includes significant revision to problems, new content, as well as a new chapter to enable instructors to better-utilize the book in a one-semester course. Complementing this well-balanced approach is the straightforward, student-friendly writing style, through which difficult concepts are presented in a clear, understandable manner.
This essential classic title provides a comprehensive foundation in the C# programming language and the frameworks it lives in. Now in its 8th edition, you'll find all the very latest C# 7.1 and .NET 4.7 features here, along with four brand new chapters on Microsoft's lightweight, cross-platform framework, .NET Core, up to and including .NET Core 2.0. Coverage of ASP.NET Core, Entity Framework (EF) Core, and more, sits alongside the latest updates to .NET, including Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and ASP.NET MVC. Dive in and discover why Pro C# has been a favorite of C# developers worldwide for over 15 years. Gain a solid foundation in object-oriented development techniques, attributes and reflection, generics and collections as well as numerous advanced topics not found in other texts (such as CIL opcodes and emitting dynamic assemblies). With the help of this book you'll have the confidence to put C# into practice and explore the .NET universe on your own terms. What You Will Learn Discover the latest C# 7.1 features, from tuples to pattern matching Hit the ground running with Microsoft's lightweight, open source .NET Core platform, including ASP.NET Core MVC, ASP.NET Core web services, and Entity Framework Core Find complete coverage of XAML, .NET 4.7, and Visual Studio 2017 Understand the philosophy behind .NET and the new, cross-platform alternative, .NET Core
C++ is one of the best languages for the development of financial engineering and instrument pricing applications. It has several features that allow developers to write robust, flexible and extensible software systems. It is an ANSI/ISO standard, fully object?oriented and interfaces with many third?party applications. It has support for templates and generic programming, massive reusability using templates (?write once?) and support for legacy C applications.This book applies C++ to the design and implementation of classes, libraries and latest applications for option and derivative pricing models. The new edition follows the same structure as used in the first edition but is completely updated to reflect current practice and the numerous new developments that have taken place in computational finance over the past 5 years. It features over 50% new material including brand new code libraries supplied by Boost C++ (a repository for free peer-reviewed portable C++ source libraries), more extensive examples than used in the first edition, as well as calibration techniques that will bring readers right up to date with the latest programming technology. It supports the latest pricing and numerical techniques quants use as well as parallel and multithreading applications.Using the most up to date models and code it employs modern software engineering techniques to produce industrial?strength applications: ? ?Using the Standard Template Library (STL) in finance ?Creating your own template classes and functions ?Reusable data structures for vectors, matrices and tensors ?Classes for numerical analysis (numerical linear algebra ?) ?Solving the Black Scholes equations, exact and approximate solutions ?Implementing the Finite Difference Method in C++ ?Integration with the ?Gang of Four? Design Patterns ?Interfacing with Excel (output and Add?Ins) ?Financial engineering and XML ?Cash flow and yield curves With the forthcoming launch of C++0x there has never been a better time for a revised edition to this C++ classic.The book is accompanied by a CD ROM which includes the most up to date source code so readers can implement all models immediately.
Develop faster with DevOps DevOps embraces a culture of unifying the creation and distribution of technology in a way that allows for faster release cycles and more resource-efficient product updating. DevOps For Dummies provides a guidebook for those on the development or operations side in need of a primer on this way of working. Inside, DevOps evangelist Emily Freeman provides a roadmap for adopting the management and technology tools, as well as the culture changes, needed to dive head-first into DevOps. Identify your organization's needs Create a DevOps framework Change your organizational structure Manage projects in the DevOps world DevOps For Dummies is essential reading for developers and operations professionals in the early stages of DevOps adoption.
Now in its fourth edition, Foundations of Software Testing: ISTQB Certification is the essential guide to software testing and to the ISTQB Foundation qualification. Completely updated to comprehensively reflect the most recent changes to the 2018 ISTQB Foundation Syllabus, the book adopts a practical, hands-on approach, covering the fundamental topics that every system and software tester should know. The authors are themselves developers of the ISTQB syllabus and are highly respected international authorities and teachers within the field of software testing. About ISTQB ISTQB is a multinational body overseeing the development of international qualifications in software testing. It offers an internationally recognized qualification that ensures there is an international, common understanding of software and system testing issues.
With the wide variety of devices, touch points, and channels in use, your ability to control how people navigate your well-crafted experiences is fading. Yet it's still important to understand where people are in their journey if you're to deliver the right content and interactions at the right time and on the right device. This practical guide shows you how storytelling can make a powerful difference in product design. Author Anna Dahlstroem details the many ways you can use storytelling in your projects and throughout your organization. By applying tried-and-tested principles from film and fiction to the context of design and business, you'll learn to create great product experiences. Learn how the anatomy of a great story can make a difference in product design Explore how traditional storytelling principles, tools, and methods relate to key product design aspects Understand how purposeful storytelling helps tell the right story and move people into action Use storytelling principles to tell, sell, and present your work
The software development ecosystem is constantly changing, providing a constant stream of new tools, frameworks, techniques, and paradigms. Over the past few years, incremental developments in core engineering practices for software development have created the foundations for rethinking how architecture changes over time, along with ways to protect important architectural characteristics as it evolves. This practical guide ties those parts together with a new way to think about architecture and time.
Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world's leading practitioners construct and maintain software. This book covers Google's unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You'll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions
How do you build a product that delights users? You must first know who your users are and how they plan to use what you're building. With this practical book, you'll explore the often-misunderstood practice of user story mapping, and learn how it can help keep your team stay focused on users and their experience throughout the development process.
You and your team will learn that user stories aren't a way to write better specifications, but a way to organize and have better conversations. This book will help you understand what kinds of conversations you should be having, when to have them, and what to keep track of when you do.Learn the key concepts used to create a great story mapUnderstand how user stories really work, and how to make good use of them in agile and lean projectsExamine the nuts and bolts of managing stories through the development cycleUse strategies that help you continue to learn before and after the product's release to customers and users
"User Story Mapping" is ideal for agile and lean software development team members, product managers and UX practitioners in commercial product companies, and business analysts and project managers in IT organizations--whether you're new to this approach or want to understand more about it.
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords? In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications. Peer under the hood of the systems you already use, and learn how to use and operate them more effectively Make informed decisions by identifying the strengths and weaknesses of different tools Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity Understand the distributed systems research upon which modern databases are built Peek behind the scenes of major online services, and learn from their architecture
Creating computer games is challenging. It requires plenty of technical skill, dedication, and creativity. Ultimate Game Programming with DirectX teaches you how to combine your existing skills and dedication for playing games with some basic C++ programming skills to create your own games. Written for game development students, beginning game programmers, and C++ programmers wanting to learn game development, this book covers every part of the process. Throughout the book, you'll be creating a first-person shooter game called Stranded. Beginning with an introduction to Direct X and Direct3D graphics, you'll build the game engine and complete game chapter by chapter. You'll learn the fundamental graphical techniques, essential mathematics, collision detection, input device detection and response, sound playback, scene management, animation, and model/character loading and drawing. Once you've built this game, you can easily expand upon it and customize it to add your own unique features. You'll also have the foundational knowledge and skills you need to build your own games and take on new programming challenges. If you have basic C++ programming skills, a love for games, and a desire to create your own, you'll find what you need here. WHAT YOU'LL LEARN * The fundamentals of DirectX game development and Direct3D graphics * Foundational programming techniques that you can use for any game project * Essential mathematics and physics techniques * Basic graphics and animation techniques, including basic techniques include drawing basic shapes and objects, displaying images on top of surfaces, creating and displaying text to the screen, and learning how to work in 3D space. * Coverage of scene management topics rarely covered in books for C++ programmers and aspiring game programmers * A complete DirectX reference for game development, including the creation of a complete FPS game
Welcome to the sixth volume of the Game Programming Gems series. With team sizes constantly expanding, developers are finding themselves pushed to become increasingly specialized. This makes it important to have cutting-edge, ready-to-use material in your specialization, as well as resources that you can call upon if you need to work outside your area of expertise. Volume 6 has been explicitly designed with your current challenges in mind. With the new generation of machines, players expect higher-fidelity models and animations, fancier physics and graphics effects, and more intelligent AI. All of these capabilities require robust teams and longer schedules, so to help ensure that your games are still delivered on time and on budget, youall find 50 all new articles written by experts in game technology from many different backgrounds and over twenty countries. This volume also includes a brand new section dedicated to Scripting and Data-Driven Systems, which is focused entirely on the growing trend of removing the programmer from the data-tweaking loop. So, whether you're a new game programmer starting out on this exciting path, a grizzled, industry veteran, or a most welcome visitor, we hope that you will find inspiration, insight, and at least one or two true gems to use in your world!
Bring your ideas to life with the latest Arduino hardware and software Arduino is an affordable and readily available hardware development platform based around an open source, programmable circuit board. You can combine this programmable chip with a variety of sensors and actuators to sense your environment around you and control lights, motors, and sound. This flexible and easy-to-use combination of hardware and software can be used to create interactive robots, product prototypes and electronic artwork, whether you're an artist, designer or tinkerer. Arduino For Dummies is a great place to start if you want to find out about Arduino and make the most of its incredible capabilities. It helps you become familiar with Arduino and what it involves, and offers inspiration for completing new and exciting projects. - Covers the latest software and hardware currently on the market - Includes updated examples and circuit board diagrams in addition to new resource chapters - Offers simple examples to teach fundamentals needed to move onto more advanced topics - Helps you grasp what's possible with this fantastic little board Whether you're a teacher, student, programmer, hobbyist, hacker, engineer, designer, or scientist, get ready to learn the latest this new technology has to offer!
Everyone has their own idea of what good game design is, and this unique collection of articles provides a variety of different perspectives and ideas to consider in your designs. The articles are written by a diverse group of designers with varying levels of experience. Most of the key areas of game design are covered, and practical techniques and tools are included throughout. Each section begins with a broad overview of the topic and then includes a collection of ideas from other designers on how they think about or approach the subject. If you are just beginning in game design, you'll find useful information throughout the book, and if you're an experienced designer, you'll find new ideas to complement and compare with your own designs. Producers and managers will also benefit from the user community and managing a game development business sections. If you're interested in learning how other designers think about game design, you'll find plenty of great, and sometimes controversial, ideas to consider here!
Python makes machine learning easy for beginners and experienced developers With computing power increasing exponentially and costs decreasing at the same time, there is no better time to learn machine learning using Python. Machine learning tasks that once required enormous processing power are now possible on desktop machines. However, machine learning is not for the faint of heart--it requires a good foundation in statistics, as well as programming knowledge. Python Machine Learning will help coders of all levels master one of the most in-demand programming skillsets in use today. Readers will get started by following fundamental topics such as an introduction to Machine Learning and Data Science. For each learning algorithm, readers will use a real-life scenario to show how Python is used to solve the problem at hand. - Python data science--manipulating data and data visualization - Data cleansing - Understanding Machine learning algorithms - Supervised learning algorithms - Unsupervised learning algorithms - Deploying machine learning models Python Machine Learning is essential reading for students, developers, or anyone with a keen interest in taking their coding skills to the next level.
A lot of work is required to release an API, but the effort doesn't always pay off. Overplanning before an API matures is a wasted investment, while underplanning can lead to disaster. This practical guide provides maturity models for individual APIs and multi-API landscapes to help you invest the right human and company resources for the right maturity level at the right time. How do you balance the desire for agility and speed with the need for robust and scalable operations? Four experts from the API Academy show software architects, program directors, and product owners how to maximize the value of their APIs by managing them as products through a continuous life cycle. Learn which API decisions you need to govern and how and where to do so Design, deploy, and manage APIs using an API-as-a-product (AaaP) approach Examine ten pillars that form the foundation of API product work Learn how the continuous improvement model governs changes throughout an API's lifetime Explore the five stages of a complete API product life cycle Delve into team roles needed to design, build, and maintain your APIs Learn how to manage your API landscape-the set of APIs published by your organization
The bestselling beginner Arduino guide, updated with new projects! Exploring Arduino makes electrical engineering and embedded software accessible. Learn step by step everything you need to know about electrical engineering, programming, and human-computer interaction through a series of increasingly complex projects. Arduino guru Jeremy Blum walks you through each build, providing code snippets and schematics that will remain useful for future projects. Projects are accompanied by downloadable source code, tips and tricks, and video tutorials to help you master Arduino. You'll gain the skills you need to develop your own microcontroller projects! This new 2nd edition has been updated to cover the rapidly-expanding Arduino ecosystem, and includes new full-color graphics for easier reference. Servo motors and stepper motors are covered in richer detail, and you'll find more excerpts about technical details behind the topics covered in the book. Wireless connectivity and the Internet-of-Things are now more prominently featured in the advanced projects to reflect Arduino's growing capabilities. You'll learn how Arduino compares to its competition, and how to determine which board is right for your project. If you're ready to start creating, this book is your ultimate guide! * Get up to date on the evolving Arduino hardware, software, and capabilities * Build projects that interface with other devices wirelessly! * Learn the basics of electrical engineering and programming * Access downloadable materials and source code for every project Whether you're a first-timer just starting out in electronics, or a pro looking to mock-up more complex builds, Arduino is a fantastic tool for building a variety of devices. This book offers a comprehensive tour of the hardware itself, plus in-depth introduction to the various peripherals, tools, and techniques used to turn your little Arduino device into something useful, artistic, and educational. Exploring Arduino is your roadmap to adventure start your journey today!
Test-driven development (TDD) is a new approach to application development that is designed to eliminate the fear often associated with building software. Admittedly, some fear is healthy (often viewed as a conscience that tells programmers to “be careful!”), but the author believes that programmers build better software when they have the freedom to be creative. By building tests before coding begins, programmers ensure the success of their application from the outset. Students are more likely to achieve positive results with TDD. The author's example-driven approach also teaches students to be better communicators, and encourages team members to seek out constructive criticism.
2012 Jolt Award finalist! Pioneering the Future of Software Test Do you need to get it right, too? Then, learn from Google. Legendary testing expert James Whittaker, until recently a Google testing leader, and two top Google experts reveal exactly how Google tests software, offering brand-new best practices you can use even if you're not quite Google's size...yet! Breakthrough Techniques You Can Actually Use Discover 100% practical, amazingly scalable techniques for analyzing risk and planning tests...thinking like real users...implementing exploratory, black box, white box, and acceptance testing...getting usable feedback...tracking issues...choosing and creating tools...testing "Docs & Mocks," interfaces, classes, modules, libraries, binaries, services, and infrastructure...reviewing code and refactoring...using test hooks, presubmit scripts, queues, continuous builds, and more. With these techniques, you can transform testing from a bottleneck into an accelerator-and make your whole organization more productive!
A complete introduction to building robust and reliable software Beginning Software Engineering demystifies the software engineering methodologies and techniques that professional developers use to design and build robust, efficient, and consistently reliable software. Free of jargon and assuming no previous programming, development, or management experience, this accessible guide explains important concepts and techniques that can be applied to any programming language. Each chapter ends with exercises that let you test your understanding and help you elaborate on the chapter's main concepts. Everything you need to understand waterfall, Sashimi, agile, RAD, Scrum, Kanban, Extreme Programming, and many other development models is inside! * Describes in plain English what software engineering is * Explains the roles and responsibilities of team members working on a software engineering project * Outlines key phases that any software engineering effort must handle to produce applications that are powerful and dependable * Details the most popular software development methodologies and explains the different ways they handle critical development tasks * Incorporates exercises that expand upon each chapter's main ideas * Includes an extensive glossary of software engineering terms
Work in Flutter, a framework designed from the ground up for dual platform development, with support for native Java/Kotlin or Objective-C/Swift methods from Flutter apps. Write your next app in one language and build it for both Android and iOS. Deliver the native look, feel, and performance you and your users expect from an app written with each platform's own tools and languages. Deliver apps fast, doing half the work you were doing before and exploiting powerful new features to speed up development. Write once, run anywhere. Learn Flutter, Google's multi-platform mobile development framework. Instantly view the changes you make to an app with stateful hot reload and define a declarative UI in the same language as the app logic, without having to use separate XML UI files. You can also reuse existing platform-specific Android and iOS code and interact with it in an efficient and simple way. Use built-in UI elements - or build your own - to create a simple calculator app. Run native Java/Kotlin or Objective-C/Swift methods from your Flutter apps, and use a Flutter package to make HTTP requests to a Web API or to perform read and write operations on local storage. Apply visual effects to widgets, create transitions and animations, create a chat app using Firebase, and deploy everything on both platforms. Get native look and feel and performance in your Android and iOS apps, and the ability to build for both platforms from a single code base. What You Need: Flutter can be used for Android development on any Linux, Windows or macOS computer, but macOS is needed for iOS development.
Ace technical interviews with smart preparation Programming Interviews Exposed is the programmer's ideal first choice for technical interview preparation. Updated to reflect changing techniques and trends, this new fourth edition provides insider guidance on the unique interview process that today's programmers face. Online coding contests are being used to screen candidate pools of thousands, take-home projects have become commonplace, and employers are even evaluating a candidate's public code repositories at GitHub--and with competition becoming increasingly fierce, programmers need to shape themselves into the ideal candidate well in advance of the interview. This book doesn't just give you a collection of questions and answers, it walks you through the process of coming up with the solution so you learn the skills and techniques to shine on whatever problems you're given. This edition combines a thoroughly revised basis in classic questions involving fundamental data structures and algorithms with problems and step-by-step procedures for new topics including probability, data science, statistics, and machine learning which will help you fully prepare for whatever comes your way. Learn what the interviewer needs to hear to move you forward in the process Adopt an effective approach to phone screens with non-technical recruiters Examine common interview problems and tests with expert explanations Be ready to demonstrate your skills verbally, in contests, on GitHub, and more Technical jobs require the skillset, but you won't get hired unless you are able to effectively and efficiently demonstrate that skillset under pressure, in competition with hundreds of others with the same background. Programming Interviews Exposed teaches you the interview skills you need to stand out as the best applicant to help you get the job you want.
You may like...
SQL For Dummies
Allen G. Taylor Paperback
Programming Logic and Design…
Joyce Farrell Paperback
Leading Lean - Ensuring Success and…
Jean Dahl Hardcover
Site Reliability Engineering
Betsy Beyer, Chris Jones, … Paperback
Docker in Practice
Ian Miell, Aiden Hobson Sayers Paperback
97 Things Every Java Programmer Should…
Kevlin Henney Paperback
Designing Interfaces - Patterns for…
Jenifer Tidwell, Charles Brewer, … Paperback
Model-Driven Software Development with…
Kevin Lano Paperback
Brian W. Fitzpatrick, Ben Collins-Sussman Paperback
Software Estimation Without Guessing
George Dinwiddie Paperback