Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy
Quick Start Guide to Verilog
This book provides a starter's guide to Verilog, to be used in conjunction with a one-semester course in Digital Systems Design, or on its own for readers who only need an introduction to the language. This book is designed to match the way the material is actually taught in the classroom. Topics are presented in a manner which builds foundati...
Foundations of Analytical Chemistry
This book offers a completely new approach to learning and teaching the fundamentals of analytical chemistry. It summarizes 250 basic concepts of the field on the basis of slides. Each of the nine chapters offers the following features: - Introduction: Summary. General scheme. Teaching objectives. - Text containing the explanation of each slide. - ...
Introduction to Logic Circuits & Logic Design with VHDL
This textbook introduces readers to the fundamental hardware used in modern computers. The only pre-requisite is algebra, so it can be taken by college freshman or sophomore students or even used in Advanced Placement courses in high school. This book presents both the classical approach to digital system design (i.e., pen and paper) in addition ...
LaTeX in 24 Hours
This book presents direct and concise explanations and examples to many LaTeX syntax and structures, allowing students and researchers to quickly understand the basics that are required for writing and preparing book manuscripts, journal articles, reports, presentation slides and academic theses and dissertations for publication. Unlike much of th...
Fundamental Astronomy
Now in its sixth edition this successful undergraduate textbook gives a well-balanced and comprehensive introduction to the topics of classical and modern astronomy. While emphasizing both the astronomical concepts and the underlying physical principles, the text provides a sound basis for more profound studies in the astronomical sciences. The cha...
Algorithms
Algorithms are the lifeblood of computer science. They are the machines that proofs build and the music that programs play. Their history is as old as mathematics itself. This book is a wide-ranging, idiosyncratic treatise on the design and analysis of algorithms, covering several fundamental techniques, with an emphasis on intuition and the proble...
C# Notes for Professionals
The C# Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
A Case Study in Community-Driven Software Adoption
Within an SRE organization, teams usually develop very different automation tools and processes for accomplishing similar tasks. Some of this can be explained by the software they support: different systems require different reliability solutions. But many SRE tasks are essentially the same across all software: compiling, building, deploying, canar...
Engineering Reliable Mobile Applications
Imagine a situation where your services report healthy and serving but you receive multiple user reports of poor availability. How are these users accessing your service? Most likely, they are using your service through a client application, such as a mobile application on their phone. SRE traditionally has only supported systems and services run i...
JavaScript Notes for Professionals
The JavaScript Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
PC Assembly Language
This book has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler. It is possible to...
Understanding Machine Learning
The subject of this book is automated learning, or, as we will more often call it, Machine Learning (ML). That is, we wish to program computers so that they can "learn" from input available to them. Roughly speaking, learning is the process of converting experience into expertise or knowledge. The input to a learning algorithm is training...
Algorithmic Graph Theory and Sage
This is an introductory book on algorithmic graph theory. Theory and algorithms are illustrated using the Sage open source mathematics software....
R Notes for Professionals
The R Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Python Notes for Professionals
The Python Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
PHP Notes for Professionals
The PHP Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Smooth CoffeeScript
An introduction to CoffeeScript programming with an emphasis on clarity, abstraction and verification. Smooth CoffeeScript is a free book about CoffeeScript and programming. No previous programming knowledge is required. Over 200 pages and 35 exercises....
Learning Zeromq
Even connecting a few programs across a few sockets is plain nasty when you start to handle real life situations. Trillions? The cost would be unimaginable. Connecting computers is so difficult that software and services to do this is a multi-billion dollar business. So today we're still connecting applications using raw UDP and TCP, proprieta...
Java Succinctly Part 1
Java is a high-level, cross-platform, object-oriented programming language that allows applications to be written once and run on a multitude of different devices. Java applications are ubiquitous, and the language is consistently ranked as one of the most popular and dominant in the world. Christopher Rose's Java Succinctly Part 1 describes t...
The Coder's Apprentice
The Coder's Apprentice is a course book, written by Pieter Spronck, that is aimed at teaching Python 3 to students and teenagers who are completely new to programming. Contrary to many of the other books that teach Python programming, this book assumes no previous knowledge of programming on the part of the students, and contains numerous exer...
VBA Notes for Professionals
The Visual Basic .NET Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Affirmative Aesthetics and Wilful Women
While the idea of women who stay at home and men who dominate the streets may seem outdated, binary considerations of gender, space, and power still proliferate in contemporary cinema. This open access book adopts a fluid approach to space designed to accommodate wilful, affirmative, and imaginative perspectives of gender on screen. Through close a...
Learn Programming
This book is aimed at readers who are interested in software development but have very little to no prior experience. The book focuses on teaching the core principles around software development. It uses several technologies to this goal (e.g. C, Python, JavaScript, HTML, etc.) but is not a book about the technologies themselves. The reader will le...
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...
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 PHP
PHP is a widely-used open source programming language. It is especially suited for web development. The unique thing about PHP is that it serves both beginners as well as experienced developers. It has a low barrier to entry so it is easy to get started with, and at the same time, it provides advanced features offered in other programming languages...
Learning JavaScript
JavaScript is a programming language that conforms to the ECMAScript specification. It is an unofficial and free JavaScript 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....
Applied Discrete Structures
Applied Discrete Structures, is a two semester undergraduate text in discrete mathematics, focusing on the structural properties of mathematical objects. These include matrices, functions, graphs, trees, lattices and algebraic structures. The algebraic structures that are discussed are monoids, groups, rings, fields and vector spaces. Applied D...
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 environment on...
Problem Solving with Algorithms and Data Structures
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 ...

1 2 3