This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019.Reversible computation ...
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 open book coherently gathers well-founded information on the fundamentals of and formalisms for modelling cyber-physical systems (CPS). Highlighting the cross-disciplinary nature of CPS modelling, it also serves as a bridge for anyone entering CPS from related areas of computer science or engineering.Truly complex, engineered systems - known a...
Tracing the shift from liberal to neoliberal education from the nineteenth century to the present day, this open access book provides a rich and previously underdeveloped narrative of value in higher education in England. Value and the Humanities draws upon historical, financial, and critical debates concerning educational and cultural policy. Rath...
HTML, a shorthand for Hyper Text Markup Language, is one of the most fundamental building blocks of the Web.
This handbook is aimed at a vast audience.
- First, the beginner. I explain HTML from zero in a succinct but comprehensive way, so you can use this book to learn HTML from the basics.
- Then, the professional. HTML is often considered l...
C# Features Succinctly is a concise guide to the significant features packaged in C# 7, 8, and 9. To help readers understand the evolution of the language, author Dirk Strauss first covers the important additions that arrived in version 7, such as tuples, pattern matching, and out variables. Next, he covers more than a dozen features in version 8, ...
Secure collaboration in your organization's applications and services with outside groups can be tricky, but Azure Active Directory boasts features that make it simple. In External Collaboration with Azure AD B2B Succinctly, author Sjoukje Zaal takes readers step-by-step through creating guest accounts, managing security groups, and adding use...
Though sometimes perceived as a hurdle, testing can save developers from heartbreak in the long run. In Angular Testing Succinctly, author Joseph D. Booth provides a quick introduction to different tools and approaches to testing Angular projects to make them higher quality from the start and easier to maintain down the road. Topics covered include...
Node.js is built on top of the Google Chrome V8 JavaScript engine, and it's mainly used to create web servers - but it's not limited to that.
The Node.js Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. The author find this approach gives a well-rounded overview....
When I reflect back on Azure Tips and Tricks a year ago, I was only thinking that I'd write a couple of posts and move on. Fast-forward to today, the collection has grown to over 150+ tips, as well as videos, conference talks, and now an eBook spanning the entire universe of the Azure platform. What you are currently reading is a special colle...
Python for Kids is a lighthearted introduction to the Python language and to programming in general, complete with illustrations and kid-friendly examples. We begin with the basics of how to install Python and write simple commands. In bite-sized chapters, you'll discover the essentials of Python, including how to use Python's extensive s...
Vue.js is a very impressive project. It's a very popular JavaScript framework, one that's experiencing a huge growth. It is simple, tiny and very performant.
The Vue.js Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. The author find this approach gives a well-rounded overview....
The React Beginner's Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. The author find this approach gives a well-rounded overview.
This book does not try to cover everything under the sun related to React. It focuses on the core of the language, trying to simplify the more complex topics. The author hopes the co...
In this open book, our goal is to study the fundamental concepts in programming languages, as opposed to learning a range of specific languages. Languages are easy to learn, it is the concepts behind them that are difficult. The basic features we study in turn include higher-order functions, data structures in the form of records and variants, muta...
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 ...
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 ...
Python for Everybody is designed to introduce students to programming and software development through the lens of exploring data. You can think of the Python programming language as your tool to solve data problems that are beyond the capability of a spreadsheet. Python is an easy to use and easy to learn programming language that is freely availa...
The author wrote this open book to help you move from pre-ES6 knowledge of JavaScript and get you quickly up to speed with the most recent advancements of the language.
JavaScript today is in the privileged position to be the only language that can run natively in the browser, and is highly integrated and optimized for that.
The future of JavaScr...
Add buttons, boxes, pictures and colours and more to your Python programs using the guizero library, which is quick, accessible, and understandable for all.
This 156-page book is suitable for everyone, from beginners to experienced Python programmers who want to explore graphical user interfaces (GUIs).
There are ten fun projects for you to c...
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...
JavaScript is the de facto programming language of the web, but the language itself does not include any built-in method for working with input/output (I/O), such as graphics display and sound. Instead, the web browser provides an API for accessing the HTML document in a tree structure known as the Document Object Model (DOM). The combination of Ja...
The author wrote this open book to help you quickly learn Next.js and get familiar with how it works.
The ideal reader of the book has zero knowledge of Next.js, has used React in the past, and is looking forward diving more into the React ecosystem, in particular server-side rendering.
I find Next.js an awesome tool to create Web Application...
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 ...
Azure Pipelines, a component of the Azure DevOps suite, helps software development teams manage building, testing, and deploying their products. In Azure Pipelines Succinctly, author Antonio Liccardi covers the basics of what a pipeline is and what it can do before providing a thorough rundown of Azure Pipelines in action. From creating your first ...
Raspberry Pi Pico is a new low-cost, high-performance microcontroller board with flexible digital interfaces. Microcontrollers are computers stripped back to their bare essentials. You don't use monitors or keyboards, but program them to take their input from, and send their output to the input/output pins. Using these programmable connections...
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...
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...
If your job involves working with data in any manner, you cannot afford to ignore the R revolution! If your domain is called data analysis, analytics, informatics, data science, reporting, business intelligence, data management, big data, or visualization, you just have to learn R as this programming language is a game-changing sledgehammer.
How...
This is a guide that everyone can use to learn about the practice of front-end development. It broadly outlines and discusses the practice of front-end engineering: how to learn it and what tools are used when practicing.
It is specifically written with the intention of being a professional resource for potential and currently practicing front-e...
This issue we're paying homage to some of our favourite projects built on the Raspberry Pi. We're living in a golden age for experimentation, accessible making and digital discovery - and a large part of that is thanks to this teeny tiny computer. Just add imagination!
- How one maker achieved perfection (yes, really!) by embracing fai...
C is a general-purpose, procedural computer programming language supporting structured programming, lexical variable scope, and recursion, with a static type system.
The C Programming Language Handbook follows the 80/20 rule: learn in 20% of the time the 80% of a topic. In particular, the goal is to get you up to speed quickly with C....