Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy
Operating Systems: From 0 to 1
This book helps you gain the foundational knowledge required to write an operating system from scratch. Hence the title, 0 to 1. After completing this book, at the very least you will learn: - How to write an operating system from scratch by reading hardware datasheets. In the real world, it works like that. You won't be able to consult Go...
Java-Based Real-Time Programming
Development of embedded software has for some years mainly been carried out by hardware-aware programming using the C-language, and in some cases even in assembly languages. This works well in simple cases when the application demands and the hardware are known at design time, and the size of the (statically defined) software is small. When applica...
Managing Projects with GNU Make
The utility simply known as make is one of the most enduring features of both Unix and other operating systems. First invented in the 1970s, make still turns up to this day as the central engine in most programming projects; it even builds the Linux kernel. In the third edition of the classic Managing Projects with GNU make, readers will learn why ...
Learning Node.js
Node.js is an event-based, non-blocking, asynchronous I/O framework that uses Google's V8 JavaScript engine. It is used for developing applications that make heavy use of the ability to run JavaScript both on the client, as well as on server side and therefore benefit from the re-usability of code and the lack of context switching. It is open-...
Learning jQuery
jQuery is a JavaScript library designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax. It is an unofficial and free jQuery ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overfl...
Learning C++
C++ is a general-purpose programming language as an extension of the C programming language, or "C with Classes". It is an unofficial and free C++ ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Learning C#
C# is a general-purpose, modern and object-oriented programming language pronounced as "C sharp". It is an unofficial and free C# ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Learning R
R is a programming language and free software environment for statistical computing and graphics. It is an unofficial and free R ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Learning Python Matplotlib
Matplotlib is a plotting library for Python. It provides object-oriented APIs for embedding plots into applications. It is similar to MATLAB in capacity and syntax. It is an unofficial and free Python Matplotlib book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardwor...
Learning .NET EPPlus
EPPlus is a .NET library that reads and writes Excel files using the Office Open XML format (xlsx). It is an unofficial and free .NET EPPlus book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Engaging Researchers with Data Management
Effective Research Data Management (RDM) is a key component of research integrity and reproducible research, and its importance is increasingly emphasised by funding bodies, governments, and research institutions around the world. However, many researchers are unfamiliar with RDM best practices, and research support staff are faced with the difficu...
XcalableMP PGAS Programming Language
XcalableMP is a directive-based parallel programming language based on Fortran and C, supporting a Partitioned Global Address Space (PGAS) model for distributed memory parallel systems. This open book presents XcalableMP language from its programming model and basic concept to the experience and performance of applications described in XcalableMP.�...
Software for Exascale Computing - SPPEXA 2016-2019
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...
Snake Wrangling for Kids
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 Common Java Cookbook
In this book, you'll find information about a set of libraries developed within the Apache Commons (also referred to as "Commons"). Commons is a set of small, popular components which forms a Top-level Project at the Apache Software Foundation. Ranging from the elementary to the complex, many would consider some of these libraries in...
What is Authorial Philology?
A stark departure from traditional philology, What is Authorial Philology? is the first comprehensive treatment of authorial philology as a discipline in its own right. It provides readers with an excellent introduction to the theory and practice of editing 'authorial texts' alongside an exploration of authorial philology in its cultural ...
Create Graphical User Interfaces with Python
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...
Java, Java, Java
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...
Understanding the DOM
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...
Get Started with MicroPython on Raspberry Pi Pico
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...
Just Enough R
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...
The C Programming Language Handbook
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....
Get Started with Arduino
Whether you want to build robots, smart devices, or any other electronically controlled projects, this is the book you need. We take you through how to program and connect an Arduino microcontroller board, then explore some great projects to make with it. - Build a four-legged walking robot; - Create a Tetris-inspired clock; - Grow your own ve...
Blazor, A Beginners Guide
Blazor, A Beginners Guide is intended for developers with some .NET experience. If you're coming from a non-.NET development background, you may learn some .NET basics along the way, but supplemental material around C# and .NET would be of great help to you. The book begins with the author's own perspective on WebAssembly, why it'...
Modern Object Pascal Introduction for Programmers
There are many books and resources about Pascal out there, but too many of themtalk about the old Pascal, without classes, units or generics. So I wrote this quick introduction to what I call modern Object Pascal. Most of theprogrammers using it don't really call it "modern Object Pascal", we just call it "ourPascal". Bu...
Circulation and Control
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...
Xamarin Community Toolkit Succinctly
When working on Xamarin.Forms projects, developers tend to replicate elements among projects or need to build common views that are not included in the Xamarin.Forms code base. Microsoft's Xamarin Community Toolkit simplifies reusing elements across projects with an open-source collection of reusable elements for mobile development. By the end...
JavaScript: The First 20 Years
How a sidekick scripting language for Java, created at Netscape in a ten-day hack, ships first as a de facto Web standard and eventually becomes the world's most widely used programming language. This paper tells the story of the creation, design, evolution, and standardization of the JavaScript language over the period of 1995-2015. But the s...
Debugging with GDB
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...
HackSpace Magazine: Issue 55
There's a huge range of computer-controlled machines used by makers - 3D printers, laser cutters, CNC mills and more - but the plotter is the easiest to make. This makes it a great build for getting started in the world of computer-controlled machines. For around £15 you can create your own drawing machine with our guide. - Learn how hydra...
Code Club Book of Scratch
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. ...
Shaping the Digital Dissertation
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...

1 2 3 4 5