Types are the central organizing principle of the theory of programming languages. Language features are manifestations of type structure. The syntax of a language is governed by the constructs that define its types, and its semantics is determined by the interactions among those constructs. The soundness of a language design - the absence of ill-d...
This book started out as about 30 pages of notes for students in my introductory programming class at Mount St. Mary's University. Most of these students have no prior programming experience, and that has affected my approach. I leave out a lot of technical details and sometimes I oversimplify things. Some of these details are filled in later ...
Functional and flexible, this guide takes an objects-first approach to Java programming and problem using games and puzzles. Offers independent introductions to both a command-line interface and a graphical user interface (GUI). Features coverage of Unified Modeling Language (UML), the industry-standard, object-oriented design tool. Illustrates key...
The purpose of this book is to help you program shared-memory parallel systems without risking your sanity. Nevertheless, you should think of the information in this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel ...
How to Think Like a Computer Scientist is an introductory programming book based on the OCaml language. It is a modified version of Think Python by Allen Downey. It is intended for newcomers to programming and also those who know some programming but want to learn programming in the function-oriented paradigm, or those who simply want to learn OCam...
Java 3D Programming steps programmers through the important design and implementation phases of developing a successful Java 3D application. The book provides invaluable guidance on whether to use Java 3D, user interface design, geometry creation, scene manipulation and final optimizations. The book does not attempt to exhaustively cover the API or...
You can find a whole range of programming textbooks intended for complete beginners. However, this one is exceptional to certain extent. The whole textbook is designed as a record of the dialogue of the author with his daughter who wants to learn programming. The author endeavors not to explain the Java programming language to the readers, but to t...
Open Softwear is a book about fashion and technology. More precisely it is a book about Arduino boards, conductive fabric, resistive thread, soft buttons, LEDs, and some other things.
Authors got the chance to come together to write down their conclusions in the form of an illustrated book aiming at students and professionals trying to enter the...
The nineteenth century witnessed a series of revolutions in the production and circulation of images. From lithographs and engraved reproductions of paintings to daguerreotypes, stereoscopic views, and mass-produced sculptures, works of visual art became available in a wider range of media than ever before. But the circulation and reproduction of a...
This open book aims to provide novice programmers solid foundation of basic knowledge regardless of the programming language. This book covers the fundamentals of programming that have not changed significantly over the last 10 years. Educational content was developed by an authoritative author team led by Svetlin Nakov from the Software University...
With Kubernetes came many new concepts, particularly around networking and traffic management. Alongside these new concepts were entirely new classes of tools, designed for ephemeral, containerized, and distributed application deployments. In particular, Ingress controllers and service meshes did not exist prior to the Kubernetes era. Nor were Laye...
It is increasingly clear that the shapes of reality - whether of the natural world, or of the built environment - are in some profound sense mathematical. Therefore it would benefit students and educated adults to understand what makes mathematics itself 'tick', and to appreciate why its shapes, patterns and formulae provide us with preci...
C# is a general purpose, object-oriented, component-based programming language. As a general purpose language, there are a number of ways to apply C# to accomplish many different tasks. You can build web applications with ASP.NET, desktop applications with Windows Presentation Foundation, or build mobile applications for Windows Phone. Other applic...
For healthcare professionals, clinical education is foundational to the learning process. However, balancing safe patient care with supportive learning opportunities for students can be challenging for instructors and the complex social context of clinical learning environments makes intentional teaching approaches essential. Clinical instructors r...
Creative Scala is aimed at developers who have no prior experience in Scala. It is designed to give you a fun introduction to functional programming. We assume you have some familiarity with another programming language but little or no experience with Scala or other functional languages.
We have three goals with this book:
1. To give an introd...
This edited collection proposes a common good approach to development theory and practice. Rather than focusing on the outcomes or conditions of development, the contributors concentrate on the quality of development processes, suggesting that a common good dynamic is key in order to trigger development.
Resulting from more than three years of r...
Digital dissertations have been a part of academic research for years now, yet there are still many questions surrounding their processes. Are interactive dissertations significantly different from their paper-based counterparts? What are the effects of digital projects on doctoral education? How does one choose and defend a digital dissertation? T...
A broad introduction to algorithms for decision making under uncertainty, introducing the underlying mathematical problem formulations and the algorithms for solving them.
Automated decision-making systems or decision-support systems - used in applications that range from aircraft collision avoidance to breast cancer screening - must be designed...
Since the revival of maggot therapy in Western wound care approximately thirty years ago, there has been no comprehensive synthesis of what is known about its clinical practice, supply chain management, and social dimensions. This edited volume fills the information vacuum and, importantly, makes the current state of knowledge freely accessible. It...
This is an image processing textbook with a difference. Instead of just a picture gallery of before-and-after images, we provide (on the accompanying website) MATLAB programs (.m files) and images (.mat files) for each of the examples. These allow the reader to experiment with various parameters, such as noise strength, and see their effect on the ...
Nuxt.js is an open-source JavaScript library based on Vue.js. Think of it as a framework for a framework - adding two significant features to Vue.js: server-side rendering; and easy Vue.js application configuration and routing through folders and files. In Nuxt.js Succinctly, long-time Succinctly author Ed Freitas will show readers how Nuxt.js simp...
The world of machine learning is evolving so quickly that it's challenging to find real-life use cases that are relevant to your day-to-day work.
That's why we've created this comprehensive guide you can start using right away. Get everything you need - use cases, code samples and notebooks - so you can start putting the Databrick...
Every enterprise application creates data, whether it consists of log messages, metrics, user activity, or outgoing messages. Moving all this data is just as important as the data itself. With this updated edition, application architects, developers, and production engineers new to the Kafka streaming platform will learn how to handle data in motio...
This open textbook supports the learning outcomes of Fanshawe College's Advanced Professional Communications curriculum (COMM 6019). Organized in five major units - Foundational Principles of Business Messaging, The Principles of Business Style, Format, and Composition, The Principles of Social, Cultural and Employment Communication, The Princ...
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 you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's.
However, Python was also created to s...
Erlang is the result of a project at Ericsson's Computer Science Laboratory to improve the programming of telecommunication applications. A critical requirement was supporting the characteristics of such applications, that include: massive concurrency, fault-tolerance, isolation, dynamic code upgrading at runtime, transactions.
Throughout t...
This book is about those who dislike, protest, and try to abstain from media, both new and old. It explains why media resistance persists and answers two questions: What is at stake for resisters and how does media resistance inspire organized action? Yet, despite the interest in media scepticism and dislike, there seems to be no book on the market...
Policy-making to address grand challenges faces greater complexity than any previous project of modernization. Future scenarios are haunted by uncertainty and there is real ambivalence as to the values that policy should strive for. In this situation decision-makers look to research and innovation to provide answers and solutions. But neither can t...
Managing Risk and Information Security: Protect to Enable, an ApressOpen title, describes the changing risk environment and why a fresh approach to information security is needed. Because almost every aspect of an enterprise is now dependent on technology, the focus of IT security must shift from locking down assets to enabling the business while m...
This book offers a comprehensive guide, covering every important aspect of computational thinking education. It provides an in-depth discussion of computational thinking, including the notion of perceiving computational thinking practices as ways of mapping models from the abstraction of data and process structures to natural phenomena. Further, it...
Romania is an active player in various international higher education areas, while undergoing a series of higher education reforms within its national framework. The Higher Education Evidence Based Policy Making: a necessary premise for progress in Romania project was implemented by the Executive Agency for Higher Education, Research, Development ...