There are plenty of books that teach introductory data structures. Some of them are very good. Most of them cost money, and the vast majority of computer science undergraduate students will shell out at least some cash on a data structures book.
Open Data Structures (in Java) - The goal of this book is to free undergraduate computer science stud...
Suppose you sit down at your computer to check your email. One of the messages includes an attached document, which you are to edit. You click the attachment, and it opens up in another window. After you start editing the document, you realize you need to leave for a trip. You save the document in its partially edited state and shut down the comput...
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....
The technology of mechanized program verification can play a supporting role in many kinds of research projects in computer science, and related tools for formal proof-checking are seeing increasing adoption in mathematics and engineering. This book provides an introduction to the Coq software for writing and checking mathematical proofs. It takes ...
How can we capture the unpredictable evolutionary and emergent properties of nature in software? How can understanding the mathematical principles behind our physical world help us to create digital worlds? This book focuses on a range of programming strategies and techniques behind computer simulations of natural systems, from elementary concepts ...
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....
From 1928 to 1972, the Alberta Sexual Sterilization Act, Canada's lengthiest eugenic policy, shaped social discourses and medical practice in the province. Sterilization programs - particularly involuntary sterilization programs - were responding both nationally and internationally to social anxieties produced by the perceived connection betwe...
A long pull of functions, combinators, & decorators, written in modern JavaScript.
"Spent the afternoon reading @raganwald's JavaScript Allongé, the Six Edition. Highly recommended. Let the refactoring begin!" - Marcus Vorwaller
"I think it's one of the best tech books I've read since Sedgewick's Algor...
This book introduces about elementary algorithms and data structure. It includes side-by-side comparison about purely functional realization and their imperative counterpart....
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Mor...
Java is a class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is an unofficial and free Java ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
Go is a statically typed, compiled programming language designed at Google. It is an unofficial and free Go book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
ABAP (Advanced Business Application Programming) is a high-level programming language developed by SAP for programming business applications in the SAP environment.
It is an unofficial and free SAP ABAP book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking indivi...
This open access book explores the amazing similarity between paths taken by people and many other things in life, and its impact on the way we live, teach and learn.
Offering insights into the new scientific field of paths as part of the science of networks, it entertainingly describes the universal nature of paths in large networked structures. ...
This open book, like Rayleigh's classic Theory of Sound, focuses on experiments and on approximation techniques rather than mathematical rigor. The second edition has benefited from comments and corrections provided by many acousticians, in particular those who have used the first edition in undergraduate and graduate courses. For example, pha...
This open book describes and illustrates the surgical techniques, implants, and technologies used for the purpose of personalized implantation of hip and knee components. This new and flourishing treatment philosophy offers important benefits over conventional systematic techniques, including component positioning appropriate to individual anatomy,...
This third open volume of the handbook series deals with accelerator physics, design, technology and operations, as well as with beam optics, dynamics and diagnostics. A joint CERN-Springer initiative, the "Particle Physics Reference Library" provides revised and updated contributions based on previously published material in the well-kno...
C# Features Succinctly is a concise guide to the significant features packaged in C# 7, 8, and 9. To help readers understand the evolution of the language, author Dirk Strauss first covers the important additions that arrived in version 7, such as tuples, pattern matching, and out variables. Next, he covers more than a dozen features in version 8, ...
Inventory Analytics provides a comprehensive and accessible introduction to the theory and practice of inventory control - a significant research area central to supply chain planning. The book outlines the foundations of inventory systems and surveys prescriptive analytics models for deterministic inventory control. It further discusses predictive...
The growth of social media over the last decade has revolutionized the way individuals interact and industries conduct business. Individuals produce data at an unprecedented rate by interacting, sharing, and consuming content through social media. Understanding and processing this new type of data to glean actionable patterns presents challenges an...
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 bounds, app...
Computer Networks: A Systems Approach, Sixth Edition, explores the key principles of computer networking, using real world examples from network and protocol design. Using the Internet as the primary example, this best-selling classic textbook explains various protocols and networking technologies. The systems-oriented approach encourages students ...
It is increasingly clear that the shapes of reality - whether of the natural world, or of the built environment - are in some profound sense mathematical. Therefore it would benefit students and educated adults to understand what makes mathematics itself 'tick', and to appreciate why its shapes, patterns and formulae provide us with preci...
The purpose of this book is to give you a thorough introduction to competitive programming. It is assumed that you already know the basics of programming, but no previous background in competitive programming is needed.
The book is especially intended for students who want to learn algorithms and possibly participate in the International Olympi...
Back in the mid 90s, Beej got tired of all his friends asking him how to do this stuff with networking programming in C, so he put pen to paper on the early World Wide Web and wrote down everything he knew just to get them off his back. Since then, the Guide has expanded significantly, with plenty of examples, and covers IPv6. Inside you'll fi...
Everyone needs a little cryptology.
The problem with crypto is that it has a reputation of being very hard and mysterious, as well as very easy to get wrong. While there are aspects of crypto that are connected to quite modern and complex theories - such as number theory, an old and deep branch of mathematics; complexity theory, a new(er) and su...
Geometry with an Introduction to Cosmic Topology approaches geometry through the lens of questions that have ignited the imagination of stargazers since antiquity. What is the shape of the universe? Does the universe have an edge? Is it infinitely big?
This text develops non-Euclidean geometry and geometry on surfaces at a level appropriate for ...
The Internet of Things is playground for makers. From practical projects such as pet feeders and automatic blind, to silly things like a texting pot plant, there are as many ways of connecting ordinary object to the internet as you can imagine. Let's explore!
- Meet the mom behind Geek Mom Projects
- Build a flatpack rocket
- Turn 3D prin...
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Inst...
Introduction to engineering mechanics: statics, for those who love to learn. Concepts include: particles and rigid body equilibrium equations, distributed loads, shear and moment diagrams, trusses, method of joints and sections, & inertia.
This is the first of two courses to describe how objects move and the forces that cause motion. This co...
In order to represent real life situations mathematically, we often use symbols to represent unknown quantities. We call these symbols variables. Each mathematical subject requires knowledge of manipulating expressions and equations to solve for a variable. Careers such as automobile accident investigators, quality control engineers, and insurance ...