• Welcome!
Total books

Programming

Sort by
GUI Design for Android Apps

This mini book is a collection of four chapters pulled from Android Application Development for the Intel Platform, designed to give developers an introduction to creating great user interfaces for their Android applications. These chapters cover topics ranging from the differences between developing UIs for desktop systems and embedded systems to optimizing the UI of applications for touchscreens.

Java with BlueJ Part I
Java with BlueJ Part I Sented by Steve Bark

This book is Part I of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.

OpenSSL: Cryptography and SSL/TLS Toolkit

This document is a guide to the use of the OpenSSL FIPS Object Module, a software component intended for use with the OpenSSL cryptographic library and toolkit. It is a companion document to the OpenSSL FIPS 140-2 Security Policy document submitted to NIST as part of the FIPS 140-2 validation process.

Big CPU, Big Data
Big CPU, Big Data Sented by Sarah Gerdes

To study parallel programming with this book, you’ll need the following prerequisite knowledge: Java programming; C programming (for GPU programs); computer organization concepts (CPU, memory, cache, and so on); operating system concepts (threads, thread synchronization).

Deep Learning Tutorial
Deep Learning Tutorial Sented by Steve Bark

Deep Learning is a new area of Machine Learning research, which has been introduced with the objective of moving Machine Learning closer to one of its original goals: Artificial Intelligence.

Data-Intensive Text Processing with MapReduce

Our world is being revolutionized by data-driven methods: access to large amounts of data has generated new insights and opened exciting new opportunities in commerce, science, and computing applications. Processing the enormous quantities of data necessary for these advances requires large clusters, making distributed computing paradigms more crucial than ever.

Programming in D
Programming in D Sented by Musa

The main aim of this book is to teach D to readers who are new to computer programming.

Fuzzy Logic Tools
Fuzzy Logic Tools Sented by Sarah Gerdes

This manual documents the use of Fuzzy Logic Tools (FLT), a C++ framework for storage, analysis and design of fully general multiple-input multiple-output (MIMO) Takagi-Sugeno fuzzy control systems, without constraints in the order of either the inputs or the output vectors.

Code Music with Sonic PI
Code Music with Sonic PI Sented by Luis

Sonic Pi is a powerful new kind of musical instrument. Instead of strumming strings or whacking things with sticks, you write code... live. We call it live coding.

Make Games with Python
Make Games with Python Sented by Steve Bark

While countless millions of us take great pleasure spending hours racking up high scores in our favourite games, few of us are ever exposed to the delights of making them in the first place. It’s far from easy, but learning to code your own shoot-’em-up is infinitely more satisfying than beating any end-of-level boss.

Conquer the Command Line
Conquer the Command Line Sented by Emma

Sometimes only words will do. Graphic user interfaces (GUIs) were a great advance, creating an easy route into computer use for many non-technical users. For complex tasks, though, the interface can become a limitation: blocking off choices, and leaving a circuitous route even for only moderately complicated jobs.

Experiment with the Sense HAT
Experiment with the Sense HAT Sented by Steve Bark

Space exploration is fascinating and inspiring for children and adults alike. With the tiny Raspberry Pi computer helping to change the world little-by-little, it was only a matter of time before it went to space to help out there as well. This new adventure is called the Astro Pi project. To help the Raspberry Pi in its extraterrestrial mission, the Sense HAT was created to provide more functionality; the Sense HAT board sits on top of the Raspberry Pi, and has lights and sensors to allow the Pi to interact with the outside world.

Advanced Linux Programming

Advanced Linux Programming is intended for the programmer already familiar with the C programming language. Authors Alex Samuel, Jeffrey Oldham, and Mark Mitchell of CodeSourcery, LLC take a tutorial approach and teach the most important concepts and power features of the GNU/Linux system in application programs.

The official Raspberry Pi Projects Book

Just over seven million Raspberry Pis have been sold around the world. That makes this credit card-sized PC one of the most successful computers the UK has ever made. It’s quite amazing really, that a tiny UK charity, dedicated to making computing and computer science affordable and available to people from all walks of life, should end up with such an incredible success story on their hands.

Design and build a Raspberry Pi robot

This project is designed as a way of learning physical computing (the combination of computer programming with electronic circuits) in a fun way.

Towards Efficient Exploitation of GPUs

GPU computing supposed a major step forward, bringing high performance computing to commodity hardware. Feature-rich parallel languages like CUDA and OpenCL reduced the programming complexity. However, to fully take advantage of their computing power, specialized parallel algorithms are required. Moreover, the complex GPU memory hierarchy and highly threaded architecture makes programming a difficult task even for experienced programmers. Due to the novelty of GPU programming, common general purpose libraries are scarce and parallel versions of the algorithms are not always readily available.

Temporal Answer Set Programming
Temporal Answer Set Programming Sented by Steve Bark

Commonsense temporal reasoning is full of situations that require drawing default conclusions, since we rarely have all the information available. Unfortunately, most modal temporal logics cannot accommodate default reasoning, since they typically deal with a monotonic inference relation. On the other hand, non-monotonic approaches are very expensive and their treatment of time is not so well delimited and studied as in modal logic.

Reverse Engineering for Beginners

Here are some of my notes in English for beginners about reverse engineering who would like to learn to understand x86 (which accounts for almost all executable software in the world) and ARM code created by C/C++ compilers.

Sort by