Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy
Introduction to Digital Systems Design
This book has been designed for a first course on digital design for engineering and computer science students. It offers an extensive introduction on fundamental theories, from Boolean algebra and binary arithmetic to sequential networks and finite state machines, together with the essential tools to design and simulate systems composed of a contr...
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...
TouchDevelop
Mobile devices such as smartphones and tablets are set to become the main computers that virtually all people will own and carry with them at all times. And yet,mobile devices are not yet used for all computing tasks. A project at Microsoft Research was created to answer a simple question: "It is possible to create interesting apps directly on...
Tools and Algorithms for the Construction and Analysis of Systems
The LNCS 11427 and 11428 proceedings set constitutes the proceedings of the 25th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019. The tot...
Think Java
Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its wa...
Think Data Structures
If you're a student studying computer science or a software developer preparing for technical interviews, this practical book will help you learn and review some of the most important ideas in software engineering - data structures and algorithms - in a way that's clearer, more concise, and more engaging than other materials. By emphas...
Android Notes for Professionals
The Android Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Angular 2+ Notes for Professionals
The Angular 2+ Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
C Programming 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....
Java Notes for Professionals
The Java Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
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....
How To Code in Python 3
Extremely versatile and popular among developers, Python is a good general-purpose language that can be used in a variety of applications. For those with an understanding of English, Python is a very humanreadable programming language, allowing for quick comprehension. Because Python supports multiple styles including scripting and object-oriented ...
Professor Frisby's Mostly Adequate Guide to Functional Programming
This is a book on the functional paradigm in general. We'll use the world's most popular functional programming language: JavaScript. Some may feel this is a poor choice as it's against the grain of the current culture which, at the moment, feels predominately imperative. That said, typed functional languages will, without a doubt...
SAT/SMT by Example
SAT/SMT solvers can be viewed as solvers of huge systems of equations. The difference is that SMT solvers takes systems in arbitrary format, while SAT solvers are limited to boolean equations in CNF 1 form. A lot of real world problems can be represented as problems of solving system of equations....
A Whirlwind Tour of Python
To tap into the power of Python's open data science stack - including NumPy, Pandas, Matplotlib, Scikit-Learn, and other tools - you first need to understand the syntax, semantics, and patterns of the Python language. This report provides a brief yet comprehensive introduction to Python for engineers, researchers, and data scientists who are a...
Scala Succinctly
Learning a new programming language can be a daunting task, but Scala Succinctly makes it a simple matter. Author Chris Rose guides readers through the basics of Scala, from installation to syntax shorthand, so that they can get up and running quickly....
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....
Objective-C Notes for Professionals
The Objective-C Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
Swift Notes for Professionals
The Swift Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
TypeScript Notes for Professionals
The TypeScript Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
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...
Java Succinctly Part 2
In this second e-book on Java, Christopher Rose takes readers through some of the more advanced features of the language. Java Succinctly Part 2 explores powerful and practical features of Java, such as multithreading, building GUI applications, and 2-D graphics and game programming. Then learn techniques for using these mechanisms in coherent proj...
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....
Visual Basic .NET 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....
Learning Java
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....
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 Minecraft Bukkit
Bukkit is a simple API that allows for modifying the normal Minecraft multiplayer experience using plugins. It is an unofficial and free Minecraft Bukkit book created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow....
JavaScript for impatient programmers
This book makes JavaScript less challenging to learn for newcomers, by offering a modern view that is as consistent as possible. Highlights: - Get started quickly, by initially focusing on modern features. - Test-driven exercises and quizzes available for most chapters. - Covers all essential features of JavaScript, up to and including ES2020...
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...
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 author h...
Reversible Computation: Extending Horizons of Computing
This open access State-of-the-Art Survey presents the main recent scientific outcomes in the area of reversible computation, focusing on those that have emerged during COST Action IC1405 "Reversible Computation - Extending Horizons of Computing", a European research network that operated from May 2015 to April 2019.Reversible computation ...
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 variants, muta...

1 2