Algorithms and Data Structures: The Basic Toolbox is a concise introduction addressed to students and professionals familiar with programming and basic mathematical language. The algorithms are presented in a modern way, with explicitly formulated invariants, and comment on recent trends such as algorithm engineering, memory hierarchies, algorithm libraries and certifying algorithms. The authors use pictures, words and high-level pseudocode to explain the algorithms, and then they present more detail on efficient implementations using real programming languages like C++ and Java.
Free Programming Books
Building an API is easy, but designing an API that meets business objectives, pleases your users, and is long-lived – now that’s hard. Undisturbed REST tackles these challenges head on, focusing on what you need to know in order to design the perfect API. Along with best practices and modern design techniques, you’ll be guided through an understanding of the REST architectural style, hypermedia, and how to build an API that is both extendable and flexible.
Accounting Succinctly by Joe Booth is a developer’s guide to basic accounting. Written with business app development in mind, Booth discusses some of the most common accounting processes, including assets, multiple accounts, journaling, posting, inventory, and payroll. An appendix includes SQL code examples to get you started with several basic accounting transactions.
GPUs can be used for much more than graphics processing. As opposed to a CPU, which can only run four or five threads at once, a GPU is made up of hundreds or even thousands of individual, low-powered cores, allowing it to perform thousands of concurrent operations. Because of this, GPUs can tackle large, complex problems on a much shorter time scale than CPUs. Dive into parallel programming on NVIDIA hardware with CUDA Succinctly by Chris Rose, and learn the basics of unlocking your graphics card.
In Regular Expressions Succinctly, author Joe Booth teaches Visual Studio developers how regular expressions can help solve basic programming problems. By introducing patterns and rules to your C# strings, you can eliminate the need to write your own complex code for text manipulation.
With Imperative to Functional Programming Succinctly by Marc Clifton, you will learn many of the basic concepts involved with functional programming, such as currying, partial application, function pipelines, recursion, and continuations. By book’s end, you will learn how to combine functional and imperative programming to get the most out of your solutions.
Begin developing your mastery of the powerful R programming language. Become comfortable with the R environment and learn how to find ways for R to fulfill your data needs. With author Barton Poulson as your guide, you will soon be making use of this flexible, unparalleled tool.
Conquering the Command Line: Unix and Linux Commands for Developers by Mark Bates is free online. Learn to master and conquer the most valuable and useful command line tools for Unix and Linux based systems. In this book you will find not only the most useful command line tools you need to know, but also the most helpful options and flags for those tools.
This book is an introduction to computer programming. It covers the essential information of a Computer Science course. It is recommended for beginners and intermediate programmers.
Download the latest draft copy of Professor Robert Harper’s Practical Foundations for Programming Languages in pdf format. This book offers a fresh perspective on the fundamentals of programming languages through the use of type theory.