• Welcome!
Total books

Computer & Internet

AI and Robotics

Communicaion and Telecommunication
Graphics & Design

Information Technology
Mobile Computing
Network Security

Operating System
Software Engineering

Web Design & Development
Web Development
Sort by
Principles of Programming Languages

This book is an introduction to the study of programming languages. The material has evolved from lecture notes used in a programming languages course for juniors, seniors, and graduate students at Johns Hopkins University.

PureBasic - A Beginner's Guide To Computer Programming

This book provides a quick introduction to the PureBasic programming language. PureBasic’s popularity has increased significantly in the past few years, being used for many purposes such as rapid software prototyping, creation of commercial applications and games, Internet CGI applications, while some people just use it for small utilities.

Python for Everybody: Exploring Data Using Python 3

It is quite natural for academics who are continuously told to “publish or perish” to want to always create something from scratch that is their own fresh creation. This book is an experiment in not starting from scratch, but instead “remixing” the book titled Think Python: How to Think Like a Computer Scientist written by Allen B. Downey, Jeff Elkner, and others.

Domain-Driven Design Reference

Domain-Driven Design (DDD) is an approach to software development for complex businesses and other domains. DDD tackles that complexity by focusing the team's attention on knowledge of the domain, picking apart the most tricky, intricate problems with models, and shaping the software around those models. Easier said than done! The techniques of DDD help us approach this systematically.

Hacking and Making in Minecraft

Minecraft is a game that’s achieved monumental success - over 30 million copies, across all its various supported formats, have been sold; not bad for a game which doesn’t really have a point!

Simple Electronics with GPIO Zero
Simple Electronics with GPIO Zero Sented by Sarah Gerdes

One of the main reasons for the Raspberry Pi’s continued popularity is its 40- pin GPIO header, which enables users to connect electronic components and control them with a program.

Serial Programming
Serial Programming Sented by Daniel

Welcome to the wonderful world of serial data communications. This is a part of a series of articles that will cover many aspects of serial data communications.

Learning to Code with C
Learning to Code with C Sented by Musa

Learning the C programming language will give you masterful control over a computer. “It can give you control over the smallest details of how a processor operates but is still simple to learn and read,” says Simon. “This series is an introduction to programming in C for absolute beginners; you don’t need any previous programming experience, and a Raspberry Pi running Raspbian is all you need to get started.”

Multiobjective Analysis and Inference of Phylogenetic Hypotheses by Means of Parallel and Bioinspired Computing

One of the most outstanding research topics in the field of bioinformatics is the reconstruction of evolutionary relationships among species. By studying the molecular features of living organisms, phylogenetic inference procedures seek to provide hypotheses about the evolutionary events which led to the current biodiversity in nature. The result of a phylogenetic analysis is given by a treeshaped data structure known as phylogenetic tree, whose topology describes the evolutionary history of the input species by defining ancestor-descendant relationships. The biological quality of the inferred phylogenies is usually evaluated by means of optimality criteria, which allow the modelling of phylogenetic inference as an optimization problem.

Knowledge Compilation for Online Decision-Making: Application to the Control of Autonomous Systems

Controlling autonomous systems requires to make decisions depending on current observations and objectives. This involves some tasks that must be executed online—with the embedded computational power only. However, these tasks are generally combinatory; their computation is long and requires a lot of memory space. Entirely executing them online thus compromises the system’s reactivity. But entirely executing them offline, by anticipating every possible situation, can lead to a result too large to be embedded. A tradeoff can be provided by knowledge compilation techniques, which shift as much as possible of the computational effort before the system’s launching. These techniques consists in a translation of a problem into some language, obtaining a compiled form of the problem, which is both easy to solve and as compact as possible. The translation step can be very long, but it is only executed once, and offline. There are numerous target compilation languages, among which the language of binary decision diagrams (BDDs), which have been successfully used in various domains of artificial intelligence, such as model-checking, configuration, or planning.

Hands-on Python Tutorial
Hands-on Python Tutorial Sented by Steve Bark

Python is a widely used general-purpose, high-level programming language. Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C.

Computer Science III
Computer Science III Sented by Emma

Computers are awesome. The human race has seen more advancements in the last 50 years than in the entire 10,000 years of human history.

Cryptography and Computer Security

Cryptography or cryptology is the practice and study of techniques for secure communication in the presence of third parties called adversaries.

Probabilistic Programming for Procedural Modeling and Design

Procedural modeling, or the use of pseudo-random programs to generate visual content, plays an important role in computer graphics and design. It facilitates content creation at massive scales, can automatically create painstakingly-detailed imagery, and can even generate pleasantly surprising results that can help people to navigate large and unintuitive design spaces.

Sort by