Abstract Algebra
This carefully written textbook offers a thorough introduction to abstract algebra, covering the fundamentals of groups, rings and fields. The first two chapters present preliminary topics such as properties of the integers and equivalence relations. The author then explores the first major algebraic structure, the group, progressing as far as the ...
Open Data Structures (in C++)
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 C++) - The goal of this project is to free undergraduate computer science stud...
Open Data Structures (in Java)
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...
Design Science and Its Importance in the German Mathematics Educational Discussion
This ICME-13 Topical Survey reviews the state-of-the-art by first exploring the roots and scope of design science. Second, it presents two examples of current design science projects that focus on substantial learning environments including a student and a teacher perspective. Subsequently, the book elaborates on how empirical research can be conce...
The Cellular Automaton Interpretation of Quantum Mechanics
This book presents the deterministic view of quantum mechanics developed by Nobel Laureate Gerard 't Hooft.Dissatisfied with the uncomfortable gaps in the way conventional quantum mechanics meshes with the classical world, 't Hooft has revived the old hidden variable ideas, but now in a much more systematic way than usual. In this, quantum mechanic...
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...
Graph Databases For Beginners
Whether you're a business executive or a seasoned developer, something has led you on the quest to learn more about graphs - and what they can do for you. This ebook will take those new to the world of graphs through the basics of graph technology, including: Using the intuitive Cypher query language; The importance of data relationships; Key di...
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 emphasizing prac...
The Haskell School of Music
This free book explores the fundamentals of computer music and functional programming through the Haskell programming language. Functional programming is typically considered difficult to learn. This introduction in the context of creating music will allow students and professionals with a musical inclination to leverage their experience to help un...
Hacking Secret Ciphers with Python
There are many books that teach beginners how to write secret messages using ciphers. There are a couple books that teach beginners how to hack ciphers. As far as I can tell, there are no books to teach beginners how to write programs to hack ciphers. This book fills that gap. This book is for complete beginners who do not know anything about en...
Invent Your Own Computer Games with Python
Invent Your Own Computer Games with Python teaches you how to program in the Python language. Each chapter gives you the complete source code for a new game, and then teaches the programming concepts from the examples. Games include Guess the Number, Hangman, Tic Tac Toe, and Reversi. This book also has an introduction to making games with 2D graph...
Fundamentals of Python Programming
Guido van Rossum created the Python programming language in the late 1980s. In contrast to other popular languages such as C, C++ , Java, and C#, Python strives to provide a simple but powerful syntax. Python is used for software development at companies and organizations such as Google, Yahoo, Facebook, CERN, Industrial Light and Magic, and NAS...
Fundamentals of C++ Programming
Bjarne Stroustrup of AT&T Bell Labs created C++ in the mid 1980s. C++ is an extension of the programming language C, a product of AT&T Bell Labs from the early 1970s. C was developed to write the Unix operating system, and C is widely used for systems-level software and embedded systems development. C++ initially provided object-oriented...
Think C++
Think C++ is an introduction to programming using the C++ programming language. I originally wrote it to help students prepare for the Computer Science AP exam (when the exam was in C++)....
Applied Combinatorics
Applied Combinatorics is an open-source book for a course covering the fundamental enumeration techniques (permutations, combinations, subsets, pigeon hole principle), recursion and mathematical induction, more advanced enumeration techniques (inclusion-exclusion, generating functions, recurrence relations, Poly√° theory), discrete structures (grap...
An Introduction to C & GUI Programming
Even if you are an absolute beginner, this book will teach you all you need to know to write simple programs in C and start creating GUIs. The first half of the book is an introduction to C, and covers the basics of writing simple command-line programs. The second half shows how to use the GTK user interface toolkit with C to create feature-rich...
Quick Start Guide to VHDL
This book provides a starter's guide to VHDL. This book can be used in conjunction with a one-semester course in Digital Systems Design or on its own for designers who only need an introduction to the language. This book is designed to provide a bottoms-up approach to learning the VHDL language. This design supports a course in which foundational k...
Introduction to Programming with Fortran
This fourth Edition presents new examples on submodules, derived type i/o, object oriented programming, abstract interfaces and procedure pointers, C interop, sorting and searching, statistics and converting to more modern versions of Fortran.Key FeaturesHighlights the core language features of modern Fortran including data typing, array processing...
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 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....
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....
Excel VBA Notes for Professionals
The Excel VBA 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....
The Little Redis Book
The book is many years old, but still relevant. Redis has evolved a lot, but most of that has been in the form of internal improvements, new advanced features (like lua scripting) and awesome new data types. The best way to learn Redis is still to start by understanding the fundamentals presented in this book....
Introduction to Python for Computational Science and Engineering
This book summarises a number of core ideas relevant to Computational Engineering and Scientific Computing using Python. The emphasis is on introducing some basic Python (programming) concepts that are relevant for numerical algorithms. The later chapters touch upon numerical libraries such as numpy and scipy each of which deserves much more space ...
LaTeX Notes for Professionals
The LaTeX 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 ...
Modern C
Modern C focuses on the new and unique features of modern C programming. The book is based on the latest C standards and offers an up-to-date perspective on this tried-and-true language. C is extraordinarily modern for a 50-year-old programming language. Whether you're writing embedded code, low-level system routines, or high-performance applica...
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...
Coffee Break Python Slicing
Puzzle-based learning is an active learning technique. With code puzzles, you will learn faster, smarter, and better. Coffee Break Python Slicing is all about growing your Python expertise - one coffee at a time. The focus lies on the important slicing technique to access consecutive data ranges. Understanding slicing thoroughly is crucial for y...
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....
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....

1 2