Free IT, Programming and Computer Science Books



Bookstore > Books > Free Downloads

2D Game Development: From Zero to Hero

2D Game Development: From Zero to Hero

This is a small project that aims to gather some knowledge about game development and make it available to everyone.As well as being a source of knowledge this project aims to be a learning experience for everyone involved too, by gathering contributions from the community, teaching others how to make a game, teaching algorithms but also ...
Statistics with Julia

Statistics with Julia

Ccurrently many of Julia's users are hard-core developers that contribute to the language's standard libraries, and to the extensive package eco-system that surrounds it. Therefore, much of the Julia material available at present is aimed at other developers rather than end users. This is where our book comes in, as it has been ...
An Introduction to Computer Networks

An Introduction to Computer Networks

An Introduction to Computer Networks, a free and open general-purpose computer-networking free book, complete with diagrams and exercises. It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network manag...
Biopython: Tutorial and Cookbook

Biopython: Tutorial and Cookbook

The Biopython Project is an international association of developers tools for computational molecular biology. Python is an object oriented, interpreted,flexible language that is becoming increasingly popular for scientific computing. Python is easy to learn, hasa very clear syntax and can easily be extended with modules written in C, C++...
A Graduate Course in Applied Cryptography

A Graduate Course in Applied Cryptography

Cryptography is an indispensable tool used to protect information in computing systems. It is used everywhere and by billions of people worldwide on a daily basis. It is used to protect data at rest and data in motion. Cryptographic systems are an integral part of standard protocols, most notably the Transport Layer Security (TLS) protoco...
Optimizing software in C++

Optimizing software in C++

This is an optimization manual for advanced C++ programmers. This book are not for beginners.Topics include:- The choice of platform and operating system.- Choice of compiler and framework.- Finding performance bottlenecks.- The efficiency of different C++ constructs.- Multi-core systems.- Parallelization with vector operations.- CPU disp...
Ruby Regexp

Ruby Regexp

Scripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.This book will help you learn Ruby Regular Expressions, a mini-programming language for all sorts of text processing needs.The book heavily leans on examples to present features of regular expressions ...
Tensorflow 2 Tutorial

Tensorflow 2 Tutorial

TensorFlow is a free and open-source software library for machine learning. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.This book is a somewhat intermediate-level introduction to Tensorflow 2. We will eventually cover everything tf.keras, but no so fast until we imple...
The Linux Commands Handbook

The Linux Commands Handbook

The Linux Commands 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 Linux and its commands. It focuses on the small core commands that you will use the 80% or 90% of the time, trying ...
How To Code in Go

How To Code in Go

This book is designed to introduce you to writing programs with the Go programming language. You'll learn how to write useful tools and applications that can run on remote servers, or local Windows, macOS, and Linux systems for development.The topics that it covers include how to:- Install and set up a local Go development environmen...
How To Code in Node.js

How To Code in Node.js

Node.js is a popular open-source runtime environment that can execute JavaScript outside of the browser. The Node runtime is commonly used for back-end web development, leveraging its asynchronous capabilities to create networking applications and web servers. Node is also a popular choice for building command line tools.In this book, you...
The JavaScript Beginner's Handbook

The JavaScript Beginner's Handbook

The JavaScript 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 JavaScript. It focuses on the core of the language, trying to simplify the more complex topics. The au...
Principles of Programming Languages

Principles of Programming Languages

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 vari...
The React Beginner's Handbook

The React Beginner's Handbook

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 Deno Handbook

The Deno Handbook

Deno is a runtime for JavaScript and TypeScript that is based on the V8 JavaScript engine and the Rust programming language.The Deno 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 Deno....
The C Programming Language Handbook

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....
Blazor, A Beginners Guide

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...
Bash Reference Manual

Bash Reference Manual

Bash is the shell, or command language interpreter, for thegnuoperating system. Thename is an acronym for the 'Bourne-Again SHell', a pun on Stephen Bourne, the authorof the direct ancestor of the current Unix shellsh, which appeared in the Seventh Edition Bell Labs Research version of Unix.Bash is largely compatible withshand i...
Notes on Randomized Algorithms

Notes on Randomized Algorithms

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 b...
PHPUnit Manual

PHPUnit Manual

PHPUnit is a unit testing framework for the PHP programming language.Manual edition for PHPUnit 9.1....

Pages: ←Previous | 1 ... 5, 6, 7, 8, 9 ... 28 | Next→

Subscribe to Newsletter

Be the first to know about new IT books, upcoming releases, exclusive offers and more.