This open book summarizes the research done and results obtained in the second funding phase of the Priority Program 1648 "Software for Exascale Computing" (SPPEXA) of the German Research Foundation (DFG) presented at the SPPEXA Symposium in Dresden during October 21-23, 2019.
In that respect, it both represents a continuation of Vol. 1...
This open book presents and analyzes the results of more than 30 years of long-term ecological research in riparian forest ecosystems with the aim of casting light on changes in the dynamics of riparian forests over time. The research, focusing on the Ooyamazawa riparian forest, one of the remaining old-growth forests in Japan, has yielded a number...
This open book discusses the current role of smallholders in connection with food security and poverty reduction in developing countries. It addresses the opportunities they enjoy, and the constraints they face, by analysing the availability, access to and utilization of production factors.Due to the relevance of smallholder farms, enhancing their ...
This open book, edited and authored by a team of world-leading researchers, provides a broad overview of advanced photonic methods for nanoscale visualization, as well as describing a range of fascinating in-depth studies. Introductory chapters cover the most relevant physics and basic methods that young researchers need to master in order to work ...
This open book presents a collection of the most up-to-date research results in the field of steel development with a focus on pioneering alloy concepts that result in previously unattainable materials properties. Specifically, it gives a detailed overview of the marriage of high-performance steels of the highest strength and form-ability with dama...
CSS, a shorthand for Cascading Style Sheets, is one of the main building blocks of the Web. Its history goes back to the 90's and along with HTML it has changed a lot since its humble beginnings.
This handbook is aimed at a vast audience.
- First, the beginner. I explain CSS from zero in a succinct but comprehensive way, so you can use thi...
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...
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 ...
You can cache static assets - more than half the payload needed to respond to many web requests - and even application‑generated web pages (whether partial or complete). And you can use cache clusters and microcaching to increase the caching capability of your web applications while simplifying implementation and reducing operational complexity.
...
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....
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...
Mastering Dyalog APL is a complete guide to the use of Dyalog, beginning with a thorough introduction to the APL programming language. Following this, the tutorial describes a large number of common coding techniques and discusses a variety of interfaces, including file handling and COM/OLE. Bernard Legrand provides a comprehensive introduction to ...
Covering the design and implementation of assemblers and loaders, this comprehensive book opens with an introduction to one-pass and two-pass assemblers. Important concepts such as absolute and relocatable object files are discussed, as are assembler features such as local labels and multiple location counters. The format, meaning and implementatio...
The purpose of the 3rd edition of this book is to give a sound and self-contained (in the sense that the necessary probability theory is included) introduction to classical or mainstream statistical theory. It is not a statistical-methods-cookbook, nor a compendium of statistical theories, nor is it a mathematics book. The book is intended to be a ...
Site reliability engineering (SRE) is more relevant than ever. Knowing how to keep systems reliable has become a critical skill. With this practical book, newcomers and old hats alike will explore a broad range of conversations happening in SRE. You'll get actionable advice on several topics, including how to adopt SRE, why SLOs matter, when y...
Each chapter comprises a separate study on some optimization problem giving both an introductory look into the theory the problem comes from and some new developments invented by author(s). Usually some elementary knowledge is assumed, yet all the required facts are quoted mostly in examples, remarks or theorems....
Lecture notes for the Yale Computer Science course CPSC 469/569 Randomized Algorithms. Suitable for use as a supplementary text for an introductory graduate or advanced undergraduate course on randomized algorithms. Discusses tools from probability theory, including random variables and expectations, union bound arguments, concentration bounds, app...
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...
Introductory statistics courses prepare students to think statistically but cover relatively few statistical methods. Building on the basic statistical thinking emphasized in an introductory course, a second course in statistics at the undergraduate level can explore a large number of statistical methods. This text covers more advanced graphical su...
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...
The GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed. GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC). The GNU Debugger Program has four special featur...
A new edition of a graduate-level machine learning textbook that focuses on the analysis and theory of algorithms.
This book is a general introduction to machine learning that can serve as a textbook for graduate students and a reference for researchers. It covers fundamental modern topics in machine learning while providing the theoretical basi...
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 ...
Back in the mid 90s, Beej got tired of all his friends asking him how to do this stuff with networking programming in C, so he put pen to paper on the early World Wide Web and wrote down everything he knew just to get them off his back. Since then, the Guide has expanded significantly, with plenty of examples, and covers IPv6. Inside you'll fi...
Discover how to set up Raspberry Pi to play classic games in the brand new version of our retro gaming guide. In this 164-page book, you'll learn how to build a portable games machine, assemble a full-sized arcade cabinet, and emulate classic computers and consoles. Our step-by-step guides make each build easy! Plus you'll even learn to p...
The first ever Code Club book is here! With it, you'll learn how to code using Scratch, the block-based programming language. In each chapter you'll find instructions to build cool games, animations, and interactive stories. Your friendly robot guide will aid you step-by-step through each project and give you handy tips along the way.
...
The way a user might perceive and use data and the optimal way a computer system might store it are often very different. In this Database Design Succinctly, learn how to model the user's information into data in a computer database system in such a way as to allow the system to produce useful results for the end user. Joseph D. Booth will cov...
For MonoGame developers looking to build their own role-playing game, this ebook is an essential guide. Authors Jim Perry and Charles Humphrey break down design complexities into smaller topics that are easy to think through to help you produce a working game. Learn how to animate sprites, construct conversation trees, build multilevel maps, manage...
This book is a comprehensive, formal treatment of anonymous point collection. The proposed definition does not only provide a strong notion of security and privacy, but also covers features which are important for practical use. An efficient realization is presented and proven to fulfill the proposed definition. The resulting building block is the ...
Everyone needs a little cryptology.
The problem with crypto is that it has a reputation of being very hard and mysterious, as well as very easy to get wrong. While there are aspects of crypto that are connected to quite modern and complex theories - such as number theory, an old and deep branch of mathematics; complexity theory, a new(er) and su...
If you are interested in learning how to build and design websites, Hyper Text Markup Language (HTML) is a great place to start. This project-based tutorial series will introduce you to HTML and its methods by building a personal website using our demonstration site (below) as a model. Once you learn the basics, you will know how change the website...