Programming

Algorithmic Thinking, 2nd Edition Cover

Algorithmic Thinking, 2nd Edition

Daniel Zingaro

Get in the game and learn essential computer algorithms by solving competitive programming problems—no math required.

The Art of R Programming

Art of R Programming

Norman Matloff

R is the world's most popular programming language for statistical computing. Whether you're doing academic research, designing aircraft, or forecasting the weather, The Art of R Programming is your guide to harnessing the power of R.

Bare Metal C cover

Bare Metal C

Stephen Oualline

Teaches you how to program embedded devices with the C programming language.

Black Hat Go

Black Hat Go

Tom Steele, Chris Patten, and Dan Kottmann

Black Hat Go will help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset.

The Book of R

Book of R

Tilman M. Davies

The Book of R is an interactive introduction to the essentials of R programming and statistics.

The Book of Ruby

Book of Ruby

Huw Collingbourne

Cut through those programming conventions and blaze your own trail with The Book of Ruby. From methods to metaprogramming, gain the skills you need to master the world's most fun programming language with this hands-on introduction.

C++ Crash Course, 2nd edition cover

C++ Crash Course, 2nd Edition

Joshua Lospinoso

Revised to reflect the latest in C++ code and practices, its fast pace is designed to get intermediate programmers fluent in the language—with help from 500 code samples and nearly 100 exercises.

Code Craft

Code Craft

Pete Goodliffe

"Some books you read because you have to, some you simply have to read. Pete's book is in the second category – it's useful and fun and it'll make you a better programmer."
Jez Higgins, ACCU Chairman

"Code Craft is a goldmine of information that every professional software developer should be aware of."
Tim Penhey, editor of C Vu Journal

View a sample chapter, Chapter 6: To Err is Human

Cover coming soon

Data Structures and Algorithms in JavaScript

Federico Kereki

In addition to teaching developers how to solve complex problems, Data Structures and Algorithms in JavaScript is strong preparation for coding interviews and programming competitions.

Data Structures the Fun Way Cover

Data Structures the Fun Way

Jeremy Kubica

Learn how and when to use the right data structures in any situation, strengthening your computational thinking, problem-solving, and programming skills in the process.

 

Dead Simple Python

Jason C. McDonald

A thorough intro to every feature of the language, for programmers who are impatient to write production code.

Cover Coming Soon

Deep Learning Crash Course

Giovanni Volpe, Benjamin Midtvedt, Jesús Pineda, Henrik Klein Moberg, Harshith Bachimanchi, Joana B. Pereira, and Carlo Manzo

Deep Learning Crash Course goes beyond the basics to delve into modern techniques and applications that are of great interest right now, and whose popularity will only grow in the future.

Dive Into Data Science cover

Dive Into Data Science

Bradford Tuckfield

Teaches you how to collect and work with data in business settings, and how to analyze data sets using Python code.

Dive Into Systems Cover

Dive Into Systems

Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb

A vivid, layer-by-layer intro to computer architecture and software components.

Effective C, 2nd Edition cover

Effective C, 2nd Edition

Robert C. Seacord

Is an introduction to essential C language programming that will soon have you writing programs, solving problems, and building working systems.

Cover Coming Soon

Game Boy Coding Adventure

Maximilien Dagois

The Game Boy is an iconic handheld console and a remarkable piece of gaming history. Programming the Game Boy is rewarding but can be challenging especially to newcomers.

Graph Algorithms the Fun Way placeholder cover

Graph Algorithms the Fun Way

Jeremy Kubica

Enter the wonderful world of graph algorithms, where you’ll learn when and how to apply these highly useful data structures to solve a wide range of fascinating (and fantastical) computational problems.

Gray Hat Python

Gray Hat Python

Justin Seitz

The first Python book written for security analysts, Gray Hat Python explains the intricacies of using Python to assist in security analysis tasks. You'll learn how to design your own debuggers, create powerful fuzzers, utilize open source libraries to automate tedious tasks, interface with security tools, and more.

Hello Web Design Cover

Hello Web Design

Tracy Osborn

Don't wish for your own website, make it yourself with Hello Web Design! Written for beginners, brimming with professional insights, and sure to inspire.

Introduction to Computer Organization: ARM	placeholder cover

Introduction to Computer Organization: ARM

Robert G. Plantz

Introduction to Computer Organization: ARM shows how a modern computer’s hardware and software work "under the hood.” It covers the ARM instruction set—popular in smartphones, laptops, and tablets—and walks the reader through programming examples using a Raspberry Pi.

Introduction to System Programming in Linux

Stewart N. Weiss

This comprehensive introduction to Unix system programming—with an emphasis on Linux—teaches beginners how the Unix OS is designed and structured "under the hood."

JavaScript Crash Course Cover

JavaScript Crash Course

Nick Morgan

A thorough introduction that will have you writing your own JS software and web applications in no time.

Kotlin for the Curious placeholder cover

Kotlin for the Curious

Faisal Islam

Learn to code in Kotlin by starting from scratch and gradually building skills to tackle a wide range of fun and challenging problems.

Land of Lisp

Land of Lisp

Conrad Barski, M.D.

Master the elegance of functional programming with Land of Lisp, an illustrated guide to the world's most powerful language. Learn by doing as you write games like Dice of Doom, The Wizard's Adventure, and the updated classic, Grand Theft Wumpus!

Math for Programming placeholder cover

Math for Programming

Ronald T. Kneusel

Learn all of the core mathematical topics that professional software engineers need to know—in a single book!

Math Hacks for Scratch cover

Math Hacks for Scratch

Michael Mays

Push Scratch programming to the limits as you explore mathematical curiosities through hands-on coding projects.

Mission Python

Mission Python

Sean McManus

Mission Python will teach you how to program an adventure game in this hands-on, beginner-friendly introduction to coding in Python.

The Modern Web

Modern Web

Peter Gasston

The Modern Web deftly guides you through the technologies web developers will need now and in the years to come.

MySQL Crash Course Cover

MySQL Crash Course

Rick Silva

Takes you from the basics of creating a table to the complexities of managing an entire database, with real-world examples and hands-on projects.

Object-Oriented Python Cover

Object-Oriented Python

Irv Kalb

A hands-on tutorial that goes deep into OOP, showing you how to combine data and code into reusable units.

PHP Crash Course Cover

PHP Crash Course

Matt Smith

Go from beginner to pro in PHP programming, through hundreds of in-depth examples and hands-on exercises.

Practical Julia Cover

Practical Julia

Lee Phillips

Use Julia as a research tool and solve real-world problems in this practical, hands-on intro to the language.

 

Practical SQL, 2nd Edition Cover

Practical SQL, 2nd Edition

Anthony DeBarros

A fast-paced guide to SQL – the language for defining, organizing, and exploring relational data.

Python Crash Course 3rd Edition Cover

Python Crash Course, 3rd Edition

Eric Matthes

This fast-paced intro to programming with Python will have you writing code, solving problems, and making cool projects in no time.

Python Flash Cards

Python Flash Cards

Eric Matthes

Python Flash Cards help new Python coders drill and reinforce the concepts, syntax, and terminology they'll need to become successful professional programmers.

Python for Data Science cover

Python for Data Science

Yuli Vasiliev

Introduces you to the Pythonic world of data analysis with a learn-by-doing approach rooted in hands-on activities.

Python for Kids, 2nd Edition Cover

Python for Kids, 2nd Edition

Jason R. Briggs

The second edition of the best-selling Python for Kids—which brings you (and your parents) into the world of programming—has been completely updated to use the latest version of Python, along with tons of new projects!

Python Playground, 2nd Edition Cover

Python Playground, 2nd Edition

Mahesh Venkitachalam

Put the fun back in programming with 3D simulations, speech-recognition systems, IoT devices, and more.

R for the Rest of Us Cover

R for the Rest of Us

David Keyes

Learn how to use R for everything from workload automation and creating online reports, to interpreting data, map making, and more.

Realm of Racket

Realm of Racket

Matthias Felleisen, David Van Horn, Conrad Barski, M.D., and Eight Students of Northeastern University

In Realm Of Racket, you'll learn to wield Racket's mighty yet mind-bending power by reading comics and programming games.

Rust for Rustaceans Cover

Rust for Rustaceans

Jon Gjengset

Bridges the gap between beginners and professionals, enabling you to write apps, build libraries, and organize projects in Rust.

ScratchJr Coding Cards

ScratchJr Coding Cards

Marina Umaschi Bers and Amanda Sullivan

ScratchJr Coding Cards are a deck of 75 activity cards covering fun and exciting projects designed to educate young children with the visual programming language, ScratchJr.

Serious Python

Serious Python

Julien Danjou

Serious Python is a collection of practical, real-world advice for tackling common Python developer-level problems.

Strange Code Cover

Strange Code

Ronald T. Kneusel

Strengthen your coding skills by exploring the weird, wonderful world of atypical and esoteric languages.

The Art of ARM Assembly placeholder cover

The Art of ARM Assembly

Randall Hyde

Add valuable skills to your programming toolkit by learning to write complete applications in ARM, a popular low-level assembly language.

The Art of Clean Code

The Art of Clean Code

Christian Mayer

Uses 8 core principles, with a focus on simplicity and functionality, to teach you how to write clear, concise code.

The Art of Machine Learning Cover

The Art of Machine Learning

Norman Matloff

Learn to expertly apply a range of machine learning methods to real data with this practical guide.

The Art of Randomness Cover

The Art of Randomness

Ronald T. Kneusel

Use randomness to solve problems in fun, hands-on experiments—from simulating evolution to encrypting messages.

Batch Scripting cover

The Book of Batch Scripting

Jack McLarney

This fast-paced, hands-on, quirky introduction to Windows’ Batch scripting language is ideal for coders of all skill levels.

The Book of Dash Cover

The Book of Dash

Adam Schroeder, Christian Mayer, and Ann Marie Ward

A practical, fast-paced introduction to building interactive data-visualization dashboard apps in Python.

The Book of Kubernetes Cover

The Book of Kubernetes

Alan Hohn

This hands-on guidebook explains the inner workings of containers, and shows how Kubernetes helps computing, networking, and storage.

The C# Type System cover

The C# Type System

Steve Love

A comprehensive guide to effectively using modern C# to write better programs.

The Complete Developer Cover

The Complete Developer

Martin Krause

A hands-on, beginner-friendly approach to developing complete web applications from the ground up.

The CS Detective

The CS Detective

Jeremy Kubica

The CS Detective is a fantasy whodunit for the digital age that introduces the concepts behind search algorithms and important data structures.

The Nature of Code cover image

The Nature of Code

Daniel Shiffman

This creative coding tutorial is designed to grow your skills in a fun, hands-on way as you build simulations of natural phenomena.

The Rust Programming Language, 2E Cover

The Rust Programming Language, 2nd Edition

Steve Klabnik and Carol Nichols

The quintessential guide to programming in Rust. Thoroughly updated to Rust’s latest version, this edition is considered the language’s official documentation.

The Shape of Data Cover

The Shape of Data

Colleen M. Farrelly and Yaé Ulrich Gaba

This advanced machine learning book teaches algorithms through geometry, and data analysis through practical scientific applications.

Think Like a Programmer

Think Like a Programmer

V. Anton Spraul

In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches readers what other introductory books often ignore: how to Think Like a Programmer.

Cover Coming Soon

Total TypeScript

Matt Pocock with Taylor Bell

If you're an experienced JavaScript developer or want to level up your current TypeScript skills, with Total TypeScript, you'll learn everything you need to build a TypeScript product from

Writing a C Compiler Cover

Writing a C Compiler

Nora Sandler

A fun, hands-on guide to writing your own compiler for a real-world programming language.