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.
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
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!
Get ready to make SQL easy! Updated for the latest version of SQL, the new edition of this perennial bestseller shows programmers and web developers how to use SQL to build relational databases and get valuable information from them. Covering everything you need to know to make working with SQL easier than ever, topics include how to use SQL to structure a DBMS and implement a database design; secure a database; and retrieve information from a database; and much more. SQL is the international standard database language used to create, access, manipulate, maintain, and store information in relational database management systems (DBMS) such as Access, Oracle, SQL Server, and MySQL. SQL adds powerful data manipulation and retrieval capabilities to conventional languages--and this book shows you how to harness the core element of relational databases with ease. Server platform that gives you choices of development languages, data types, on-premises or cloud, and operating systems Find great examples on the use of temporal data Jump right in--without previous knowledge of database programming or SQL As database-driven websites continue to grow in popularity--and complexity--SQL For Dummies is the easy-to-understand, go-to resource you need to use it seamlessly.
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
Eager to develop embedded systems? These systems don't tolerate inefficiency, so you may need a more disciplined approach to programming. This easy-to-read book helps you cultivate a host of good development practices, based on classic software design patterns as well as new patterns unique to embedded programming. You not only learn system architecture, but also specific techniques for dealing with system constraints and manufacturing requirements.
Written by an expert who's created embedded systems ranging from urban surveillance and DNA scanners to children's toys, "Making Embedded Systems" is ideal for intermediate and experienced programmers, no matter what platform you use.Develop an architecture that makes your software robust and maintainable Understand how to make your code smaller, your processor seem faster, and your system use less power Learn how to explore sensors, motors, communications, and other I/O devices Explore tasks that are complicated on embedded systems, such as updating the software and using fixed point math to implement complex algorithms
A single dramatic software failure can cost a company millions of dollars - but can be avoided with simple changes to design and architecture. This new edition of the best-selling industry standard shows you how to create systems that run longer, with fewer failures, and recover better when bad things happen. New coverage includes DevOps, microservices, and cloud-native architecture. Stability antipatterns have grown to include systemic problems in large-scale systems. This is a must-have pragmatic guide to engineering for production systems. If you're a software developer, and you don't want to get alerts every night for the rest of your life, help is here. With a combination of case studies about huge losses - lost revenue, lost reputation, lost time, lost opportunity - and practical, down-to-earth advice that was all gained through painful experience, this book helps you avoid the pitfalls that cost companies millions of dollars in downtime and reputation. Eighty percent of project life-cycle cost is in production, yet few books address this topic. This updated edition deals with the production of today's systems - larger, more complex, and heavily virtualized - and is the first book to cover chaos engineering, the discipline of applying randomness and deliberate stress to reveal systematic problems. Build systems that survive the real world, avoid downtime, implement zero-downtime upgrades and continuous delivery, and make cloud-native applications resilient. Examine ways to architect, design, and build software - particularly distributed systems - that stands up to the typhoon winds of a flash mob, a Slashdotting, or a link on Reddit. Take a hard look at software that failed the test and find ways to make sure your software survives.
Now in its third 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 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, teachers and authors within the field of software testing.
This newly expanded and updated second edition of the best-selling classic continues to take the "mystery" out of designing algorithms, and analyzing their efficacy and efficiency. Expanding on the first edition, the book now serves as the primary textbook of choice for algorithm design courses while maintaining its status as the premier practical reference guide to algorithms for programmers, researchers, and students. The reader-friendly Algorithm Design Manual provides straightforward access to combinatorial algorithms technology, stressing design over analysis. The first part, Techniques, provides accessible instruction on methods for designing and analyzing computer algorithms. The second part, Resources, is intended for browsing and reference, and comprises the catalog of algorithmic resources, implementations and an extensive bibliography. NEW to the second edition: * Doubles the tutorial material and exercises over the first edition * Provides full online support for lecturers, and a completely updated and improved website component with lecture slides, audio and video * Contains a unique catalog identifying the 75 algorithmic problems that arise most often in practice, leading the reader down the right path to solve them * Includes several NEW "war stories" relating experiences from real-world applications * Provides up-to-date links leading to the very best algorithm implementations available in C, C++, and Java
Develop the next killer Android App using Java programming! Android is everywhere! It runs more than half the smartphones in the U.S. and Java makes it go. If you want to cash in on its popularity by learning to build Android apps with Java, all the easy-to-follow guidance you need to get started is at your fingertips. Inside, you'll learn the basics of Java and grasp how it works with Android; then, you'll go on to create your first real, working application. How cool is that? The demand for Android apps isn't showing any signs of slowing, but if you're a mobile developer who wants to get in on the action, it's vital that you get the necessary Java background to be a success. With the help of Java Programming for Android Developers For Dummies, you'll quickly and painlessly discover the ins and outs of using Java to create groundbreaking Android apps no prior knowledge or experience required! * Get the know-how to create an Android program from the ground up * Make sense of basic Java development concepts and techniques * Develop the skills to handle programming challenges * Find out how to debug your app Don't sit back and watch other developers release apps that bring in the bucks! Everything you need to create that next killer Android app is just a page away!
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.
One of the biggest challenges for organizations that have adopted microservice architecture is the lack of architectural, operational, and organizational standardization. After splitting a monolithic application or building a microservice ecosystem from scratch, many engineers are left wondering what's next. In this practical book, author Susan Fowler presents a set of microservice standards in depth, drawing from her experience standardizing over a thousand microservices at Uber. You'll learn how to design microservices that are stable, reliable, scalable, fault tolerant, performant, monitored, documented, and prepared for any catastrophe. Explore production-readiness standards, including: Stability and Reliability: develop, deploy, introduce, and deprecate microservices; protect against dependency failures Scalability and Performance: learn essential components for achieving greater microservice efficiency Fault Tolerance and Catastrophe Preparedness: ensure availability by actively pushing microservices to fail in real time Monitoring: learn how to monitor, log, and display key metrics; establish alerting and on-call procedures Documentation and Understanding: mitigate tradeoffs that come with microservice adoption, including organizational sprawl and technical debt
Prepare for programming success by learning the fundamental principles of developing structured program logic with Farrell's PROGRAMMING LOGIC AND DESIGN: INTRODUCTORY, 9E. Widely used in foundational programming courses, this popular book takes a unique, language-independent approach to programming with a distinctive emphasis on modern conventions. Noted for its clear, concise writing style, the book eliminates highly technical jargon while introducing 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 begins with a list of objectives and provides a concise summary and a list of key terms. End-of-chapter practice offers multiple-choice review questions, programming and gaming exercises, debugging exercises, and a maintenance exercise that challenges you to improve the working logic presented.
Hands-on guidance to creating great test-driven development practice Test-driven development (TDD) practice helps developers recognize a well-designed application, and encourages writing a test before writing the functionality that needs to be implemented. This hands-on guide provides invaluable insight for creating successful test-driven development processes. With source code and examples featured in both C# and .NET, the book walks you through the TDD methodology and shows how it is applied to a real-world application. You'll witness the application built from scratch and details each step that is involved in the development, as well as any problems that were encountered and the solutions that were applied. * Clarifies the motivation behind test-driven development (TDD), what it is, and how it works * Reviews the various steps involved in developing an application and the testing that is involved prior to implementing the functionality * Discusses unit testing and refactoring Professional Test-Driven Development with C# shows you how to create great TDD processes right away.
The overwhelming majority of a software system's lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems? In this collection of essays and articles, key members of Google's Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You'll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient-lessons directly applicable to your organization. This book is divided into four sections: Introduction-Learn what site reliability engineering is and why it differs from conventional IT industry practices Principles-Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE) Practices-Understand the theory and practice of an SRE's day-to-day work: building and operating large distributed computing systems Management-Explore Google's best practices for training, communication, and meetings that your organization can use
This book focuses on metamodelling as a discipline, exploring its foundations, techniques and results. It presents a comprehensive metamodel that covers process, product and quality issues under a common framework.
Issues covered include: An explanation of what metamodelling is and why it is necessary in the context of software engineering. Basic concepts and principles of traditional metamodelling, and some existing results of this approach. Problems associated with traditional approaches to Metamodelling are discussed, alongside an exploration of possible solutions and alternative approaches. Advanced topics such as the extension of the object-oriented paradigm for metamodelling purposes or the foundations of powertype-based tool development will be studied. Finally, a comprehensive case study is introduced and developed, showing how to use many of the concepts explained in the previous chapters.
This book provides a comprehensive conceptual framework for metamodelling and includes case studies and exercises which will demonstrate practical uses of metamodelling. For lecturers and educators, the book provides a layered repository of contents, starting from the basics of metamodelling in the first chapters, through specific issues such as trans-layer control or non-strict approaches, up to advanced topics such as universal powertyping or extensions to the object-oriented paradigm. The book also serves as an in-depth reference guide to features and technologies to consider when developing in-house software development methods or customising and adopting off-the-shelf ones. Software tool developers and vendors can benefit from the book by finding in it a comprehensive guide tothe implementation of frameworks and toolsets for computer-aided software modelling and development.
Docker's simple idea, wrapping an application and its dependencies into a single deployable package, has continued to drive a revolution in software delivery. Docker in Practice, Second Edition presents nearly 120 practical techniques, hand-picked to help users get the most out of Docker. This book is an essential resource that readers will want to have open on their desk! Key features * Hands-on guide * Step-by-step instructions * Full of practical tips Written for developers and engineers using Docker in production. About the technology Docker is a platform that allows users to "build, ship, and run any app, anywhere." It has come a long way in an incredibly short time and is now considered a standard way of solving one of the costliest aspects of software: deployment. Author biography Ian Miell is the Lead OpenShift Architect at Barclays. Aidan Hobson Sayers is a developer at Hadean. Previously, they used Docker to transform DevOps at OpenBet.
Ready, set, liftoff! Align your team to one purpose: successful delivery. Learn new insights and techniques for starting projects and teams the right way, with expanded concepts for planning, organizing, and conducting liftoff meetings. Real-life stories illustrate how others have effectively started (or restarted) their teams and projects. Master coaches Diana Larsen and Ainsley Nies have successfully "lifted off" numerous agile projects worldwide. Are you ready for success?Every team needs a great start. If you're a business or product leader, team coach or agile practice lead, project or program manager, you'll gain strategic and tactical benefits from liftoffs.Discover new step-by-step instructions and techniques for boosting team performance in this second edition of "Liftoft." Concrete examples from our practices show you how to get everyone on the same page from the start as you form the team. You'll find pointers for refocusing an effort that's gone off in the weeds, and practices for working with teams as complex systems.See how to scale liftoffs for multiple teams across the enterprise, address the three key elements for collaborative team chartering, establish the optimal conditions for learning and improvement, and apply the GEFN (Good Enough for Now) rule for efficient liftoffs. Throughout the book are stories from real-life teams lifting off, as seasoned coaches describe their experiences with liftoffs and agile team chartering.Focused conversations help the team align, form, and build enough trust for collaborating. You'll build a common understanding of the teams' context within business goals. Every liftoff is unique, but success is common!
If you maintain or plan to build Puppet infrastructure, this practical guide will take you a critical step further with best practices for managing the task successfully. Authors Chris Barbour and Jo Rhett present best-in-class design patterns for deploying Puppet environments and discuss the impact of each. The conceptual designs and implementation patterns in this book will help you create solutions that are easy to extend, maintain, and support. Essential for companies upgrading their Puppet deployments, this book teaches you powerful new features and implementation models that weren't available in the older versions. DevOps engineers will learn how best to deploy Puppet with long-term maintenance and future growth in mind. Explore Puppet's design philosophy and data structures Get best practices for using Puppet's declarative language Examine Puppet resources in depth-the building blocks of state management Learn to model and describe business and site-specific logic in Puppet See best-in-class models for multitiered data management with Hiera Explore available options and community experience for node classification Utilize r10k to simplify and accelerate Puppet change management Review the cost benefits of creating your own extensions to Puppet Get detailed advice for extending Puppet in a maintainable manner
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.
Teams working on the JVM can now say goodbye forever to misunderstood requirements, tedious manual acceptance tests, and out-of-date documentation. Cucumber - the popular, open-source tool that helps teams communicate more effectively with their customers - now has a Java version, and our bestselling Cucumber Book has been updated to match. The Cucumber for Java Book has the same great advice about how to deliver rock-solid applications collaboratively, but with all code completely rewritten in Java. New chapters cover features unique to the Java version of Cucumber, and reflect insights from the Cucumber team since the original book was published. Until now it's been difficult for teams developing Java applications to learn how to benefit from Behaviour-Driven Development (BDD). This book changes all that by describing in detail how to use Cucumber to harness the power of plain language specifications in your development process. In part 1, you'll discover how to use Cucumber's Gherkin DSL to describe the behavior your customers want from the system.You'll also learn how to write Java code that interprets those plain language specifications and checks them against your application. Part 2 guides you through a worked example, using Spring, MySQL, and Jetty. Enhanced chapters teach you how to use Selenium to drive your application and handle asynchronous Ajax calls, and new chapters cover Dependency Injection (DI) and advanced techniques to help keep your test suites fast. Part 3 shows you how to integrate Cucumber with your Continuous Integration (CI) system, work with a REST web service, and even use BDD with legacy applications. Written by the creator of Cucumber and two of its most experienced users and contributors, The Cucumber for Java Book is an authoritative guide that will give you and your team all the knowledge you need to start using Cucumber with confidence.
Write code that's clean, concise, and to the point: code that others will read with pleasure and reuse. Comparing your code to that of expert programmers is a great way to improve your coding skills. Get hands-on advice to level up your coding style through small and understandable examples that compare flawed code to an improved solution. Discover handy tips and tricks, as well as common bugs an experienced Java programmer needs to know. Make your way from a Java novice to a master craftsman. This book is a useful companion for anyone learning to write clean Java code. The authors introduce you to the fundamentals of becoming a software craftsman, by comparing pieces of problematic code with an improved version, to help you to develop a sense for clean code. This unique before-and-after approach teaches you to create clean Java code. Learn to keep your booleans in check, dodge formatting bugs, get rid of magic numbers, and use the right style of iteration. Write informative comments when needed, but avoid them when they are not. Improve the understandability of your code for others by following conventions and naming your objects accurately. Make your programs more robust with intelligent exception handling and learn to assert that everything works as expected using JUnit5 as your testing framework. Impress your peers with an elegant functional programming style and clear-cut object-oriented class design. Writing excellent code isn't just about implementing the functionality. It's about the small important details that make your code more readable, maintainable, flexible, robust, and faster. Java by Comparison teaches you to spot these details and trains you to become a better programmer. What You Need: You need a Java 8 compiler, a text editor, and a fresh mind. That's it.
You may like...
The Nature of Software Development
Ron Jeffries Paperback
Continuous Delivery in Java
Daniel Bryant, Abraham Marin-perez Paperback
Testing Java Microservices
Alex Soto Bueno, Jason Porter, … Paperback
Scrum - A Pocket Guide (A Smart Travel…
Gunther Verheyen Paperback R387 Discovery Miles 3 870
Architecting Modern Data Platforms
Lars George Paperback
Agiles Produktmanagement Mit Scrum…
Python for Software Design - How to…
Allen B. Downey Paperback R763 Discovery Miles 7 630
Domain Modeling Made Functional
Scott Wlaschin Paperback
Algorithms: Design Techniques And…
M H Alsuwaiyel Hardcover
The Software Arts
Warren Sack Hardcover