Many modern computer systems, including homogeneous and heterogeneous architectures, support shared memory in hardware. In a shared memory system, each of the processor cores may read and write to a single shared address space. For a shared memory…
This textbook serves as a gentle introduction for undergraduates to theoretical concepts in data structures and algorithms in computer science while providing coverage of practical implementation (coding) issues. The field of computer science (CS)…
Workplace Software and Skills is designed to flexibly support a range of courses covering computer literacy, Microsoft Office, and Google Suite applications. The textbook covers both hard and soft skills that are applicable to a broad range of…
This book is designed for use in an introductory course on digital logic design, typically offered in computer engineering, electrical engineering, computer science, and other related programs. Such a course is usually offered at the sophomore level.…
This open access book constitutes the proceedings of the 24th International Conference on Agile Software Development, XP 2023, which took place in Amsterdam, The Netherlands, during June 13-16, 2023. XP is the premier agile software development…
This open access book constitutes the proceedings of the 23rd International Conference on Agile Software Development, XP 2022, which was held in Copenhagen, Denmark, in June 2022. XP is the premier agile software development conference combining…
This open access book constitutes the proceedings of the 18th International Conference on Intelligent Data Analysis, IDA 2020, held in Konstanz, Germany, in April 2020. The 45 full papers presented in this volume were carefully reviewed and selected…
his is a multimedia-enabled case in which students will be guided, by an industry expert, to apply structured problem-solving that addresses a typical supply chain problem, missing parts. What first appears as the issue may be a symptom of a root…
Producing Open Source Software is a book about the human side of open source development. It describes how successful projects operate, the expectations of users and developers, and the culture of free software. The book is released under an open…
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better…
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the…
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the…
This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS…
This open access book constitutes the proceedings of the 25th International Conference on Fundamental Approaches to Software Engineering, FASE 2022, which was held during April 4-5, 2022, in Munich, Germany, as part of the European Joint Conferences…
This open access book constitutes the proceedings of the 25th International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2022, which was held during April 4-6, 2022, in Munich, Germany, as part of the European…
This open access book constitutes the proceedings of the 22nd International Conference on Agile Software Development, XP 2021, which was held virtually during June 14-18, 2021. XP is the premier agile software development conference combining…
This open access book constitutes the proceedings of the 23rd International Conference on Agile Software Development, XP 2022, which was held in Copenhagen, Denmark, in June 2022. XP is the premier agile software development conference combining…
This open access book, published to mark the 15th anniversary of the International Software Quality Institute (iSQI), is intended to raise the profile of software testers and their profession. It gathers contributions by respected software testing…
This Open Access book celebrates Professor Peter Marwedel's outstanding achievements in compilers, embedded systems, and cyber-physical systems. The contributions in the book summarize the content of invited lectures given at the workshop “Embedded…
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching…
This open access book constitutes the research workshops, doctoral symposium and panel summaries presented at the 20th International Conference on Agile Software Development, XP 2019, held in Montreal, QC, Canada, in May 2019. XP is the premier agile…
This open access book constitutes the proceedings of the 21st International Conference on Agile Software Development, XP 2020, which was planned to be held during June 8-12, 2020, at the IT University of Copenhagen, Denmark. However, due to the…
Blueprints is a concise yet comprehensive coverage of Object-Oriented Analysis and Design concepts, suitable for a second programming course in Computer Science. It introduces and teaches application development in a command-line environment, and…
This book sheds new light on a selection of big data scenarios from an interdisciplinary perspective. It features legal, sociological and economic approaches to fundamental big data topics such as privacy, data quality and the ECJ’s Safe Harbor…
The time prediction and planning capacity of the human race is particularly evident in some of the early great constructions. An excellent example is the building of the Great Pyramid of Giza, around 4500 years ago. We do not know much about the…
In component-based software engineering, performance prediction approaches support the design of business information systems on the architectural level. They are based on behavior specifications of components. This work presents a round-trip…
It’s been ten years since open data first broke onto the global stage. Over the past decade, thousands of programmes and projects around the world have worked to open data and use it to address a myriad of social and economic challenges. Meanwhile,…
Computers are everywhere in our daily lives. Between the desktop, laptop, phone, bank, and vehicle, it is difficult to completely get away from computers. It only makes sense to learn a little about how a computer really works.This text provides an…
There are a number of excellent, comprehensive, and in-depth texts on MIPS assembly language programming. This is not one of them.The purpose of this text is to provide a simple and free reference for university level programming and architecture…
The purpose of this text is to provide a reference for University level assembly language and systems programming courses. Specifically, this text addresses the x86-64 instruction set for the popular x86-64 class of processors using the Ubuntu 64-bit…
PowerPoint 2010 is a complete presentation graphics program that allows you to produce professional looking presentations.
Slides can be created and displayed as a slide show on your computer, video projector, or on the Internet. Information from a…
Digital Foundations uses formal exercises of the Bauhaus to teach the Adobe Creative Suite. All students of digital design and production—whether learning in a classroom or on their own—need to understand the basic principles of design in order to…
This book is written for a world that has changed radically in the past decade. At the start of the prior decade, Google barely existed and well-known strategists dismissed Internet advertising models (Porter, 2001). By decade’s end, Google brought…
Most business leaders would agree that reaching the broadest audience is good for a business’s bottom line. A good portion of that audience will be people with disabilities. How, though, would an organization go about ensuring it is as accessible as…
Welcome to Information Systems for Business and Beyond. In this book, you will be introduced to the
concept of information systems, their use in business, and the larger impact they are having on our world.
This book is written as an introductory…
When the first computers were built during the second world war, they were expensive and isolated. However, after about twenty years, as their prices gradually decreased, the first experiments began to connect computers together. In the early 1960s,…
Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by…
This text is designed to introduce and expand upon material related to the C programming language and embedded controllers, and specifically, the Arduino development system and associated Atmel ATmega microcontrollers. It is intended to fit the time…
The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer…
Websites are created using a set of standard technologies. Many of these technologies
involve markup and programming languages for encoding page content and
specifying the appearance and interactive behaviour of Web elements. In this module,
you…
The Internet, personal devices and multicore computers have greatly changed and enhanced our lives by allowing us to access information and entertainment ondemand anytime, anywhere. While these technologies are great on their own merit,
the reality…
Before we go into details on various computer designs concepts, we need to
understand how to interpret the performance of a computer system. To start with, we will look at some basic metric and benchmarks for the measurement of a computer's…
This module will enable you to understand various wireless technologies, especially
those that have been infused into our daily lives. Also, a range of wireless network
protocols and wireless LAN design models will be discussed. Another topic that…
Web development is an evolving amalgamation of languages that work in concert to receive, modify, and deliver information between parties using the Internet as a mechanism of delivery.
While it is easy to describe conceptually, implementation is…
Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before.
As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and…
This book introduces concepts in mobile, autonomous robotics to 3rd-4th year students in Computer Science or a related discipline. The book covers principles of robot motion, forward and inverse kinematics of robotic arms and simple wheeled…
This book has been replaced by the omnibus edition of The Busy Coder's Guide to Android Development, and so this book is no longer available in digital form as a separate title. Visit the page for The Busy Coder's Guide to Android Development to…
Introduction to Programming Languages is designed to formalize and consolidate the knowledge of programming languages gained in the introductory courses a computer science curriculum and to provide a base for further studies in the semantics and…