This open book is a result of the Dalhousie-led research project Safe Navigation and Environment Protection, supported by a grant from the Ocean Frontier Institute's the Canada First Research Excellent Fund (CFREF). The book focuses on Arctic shipping and investigates how ocean change and anthropogenic impacts affect our understanding of risk,...
This open book offers an initial introduction to programming for scientific and computational applications using the Python programming language. The presentation style is compact and example-based, making it suitable for students and researchers with little or no prior experience in programming.
The book uses relevant examples from mathematics a...
This third open volume of the handbook series deals with accelerator physics, design, technology and operations, as well as with beam optics, dynamics and diagnostics. A joint CERN-Springer initiative, the "Particle Physics Reference Library" provides revised and updated contributions based on previously published material in the well-kno...
This open book on the history of the National Radio Astronomy Observatory covers the scientific discoveries and technical innovations of late 20th century radio astronomy with particular attention to the people and institutions involved. The authors have made extensive use of the NRAO Archives, which contain an unparalleled collection of documents ...
This open book reports on cutting-edge electrical engineering and microelectronics solutions to foster and support digitalization in the semiconductor industry. Based on the outcomes of the European project iDev40, which were presented at the two first conference editions of the European Advances in Digital Transformation Conference (EADCT 2018 and...
The study of algorithms and data structures is central to understanding what computer science is all about. Learning computer science is not unlike learning any other type of difficult subject matter. The only way to be successful is through deliberate and incremental exposure to the fundamental ideas. A beginning computer scientist needs practice ...
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: Learning with Python - is an introduction to computer science using the Python programming language. It covers the basics of computer programming, including variables and values, functions, conditionals and control flow, program development and debugging. Later chapters cover basic algorithms and data structu...
The issue "Mathematical Logic and Its Applications 2020" contains articles related to the following three directions:
I. Descriptive Set Theory (3 articles). Solutions for long-standing problems, including those of A. Tarski and H. Friedman, are presented.
II. Exact combinatorial optimization algorithms, in which the complexity rela...
This book integrates the vital areas of object-orientation, functional programming, design patterns, and language design. The most important concepts from functional programming are captured with six design patterns: FUNCTION OBJECTS (Black-box behaviour parameterisation) LAZY OBJECTS (Evaluation-by-need semantics) VALUE OBJECTS (Immutable values) ...
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...
When most people think of piracy, they think of Bittorrent and The Pirate Bay. These public manifestations of piracy, though, conceal an elite worldwide, underground, organized network of pirate groups who specialize in obtaining media - music, videos, games, and software - before their official sale date and then racing against one another to rele...
Kubernetes has become the operating system of today's cloud native world, providing a reliable and scalable platform for running containerized workloads. In this friendly, pragmatic book, cloud experts Justin Domingus and John Arundel show you what Kubernetes can do-and what you can do with it.
This updated second edition guides you through...
This open book is an introduction to algebra for undergraduates who are interested in careers which require a strong background in mathematics. It will benefit students studying computer science and physical sciences, who plan to teach mathematics in schools, or to work in industry or finance. The book assumes that the reader has a solid background...
Every Database Administrator, developer, report writer, and anyone else who writes T-SQL to access SQL Server data, must understand how to read and interpret execution plans. My book leads you right from the basics of capturing plans, through how to interrupt them in their various forms, graphical or XML, and then how to use the information you fin...
This thoroughly revised guide demonstrates how the flexibility of the command line can help you become a more efficient and productive data scientist. You'll learn how to combine small yet powerful command-line tools to quickly obtain, scrub, explore, and model your data. To get you started, author Jeroen Janssens provides a Docker image packe...
Spring Data's mission is to provide a familiar and consistent, Spring-based programming model for data access while still retaining the special traits of the underlying data store.
It makes it easy to use data access technologies, relational and non-relational databases, map-reduce frameworks, and cloud-based data services. This is an umbre...
Field programmable gate arrays (FPGAs) are integrated circuits that enable designers to program customized digital logic in the field. FPGAs have been around since the 1980s and were originally conceived to give all design teams the ability to create custom logic. In the early days, using an FPGA in your design meant you had to do a lot of programm...
The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.
The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympi...
This is an intro to C for folks who already know how to program in another language. The first half of the book is written in a tutorial style, while the second half is a reference section complete with examples (inspired by the incomparable Turbo C Bible). The goal is to keep this up-to-date with the latest C standards.
This guide assumes that ...
MongoDB is one of the biggest players in the NoSQL database market, providing high performance, high availability, and automatic scaling. It's an open-source document database written in C++ and hosted on GitHub. Zoran Maksimovic's MongoDB 3 Succinctly touches on the most important aspects of the MongoDB database that application develope...
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...
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. The second edition of this book provides maturity models for individual APIs and multi-API landscapes to help you invest the right human and company resources f...
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...
Julia is a high-level, dynamic programming language. Its features are well suited for numerical analysis and computational science.
Julia works with other languages (C, Python, R, Rust, C++, SQL, JavaScript, ...)
The Purpose of this open book is to introduce programmers to the Julia programming by example. This is a simplified exposition of the l...
Many forces affect software today: larger datasets, geographical disparities, complex company structures, and the growing need to be fast and nimble in the face of change. Proven approaches such as service-oriented and event-driven architectures are joined by newer techniques such as microservices, reactive architectures, DevOps, and stream process...
Is Kubernetes ready for stateful workloads? This open source system has become the primary platform for deploying and managing cloud native applications. But because it was originally designed for stateless workloads, working with data on Kubernetes has been challenging. If you want to avoid the inefficiencies and duplicative costs of having separa...
In order to represent real life situations mathematically, we often use symbols to represent unknown quantities. We call these symbols variables. Each mathematical subject requires knowledge of manipulating expressions and equations to solve for a variable. Careers such as automobile accident investigators, quality control engineers, and insurance ...