close
WANT SWEET DEALS? JOIN OUR MAILING LIST

Programming

Heavy Wizardry 101

Heavy Wizardry 101

Most hackers borrow their spells. Pico teaches you to write your own, from shellcode to worms across four architectures.

David Martínez Oliveira, aka Pico
April 2026
Quantum Computing

Quantum Computing

A friendly introduction to quantum programming for complete beginners.

Andrew Glassner
July 2025
Game Boy Coding Adventure

Game Boy Coding Adventure

Learn assembly by doing what you always wanted as a kid: programming a Game Boy.

Maximilien Dagois
October 2025
The Book of R, 2nd Edition

The Book of R, 2nd Edition

R for data analysis and statistics, updated and expanded. Start here if you're serious about the language.

Tilman M. Davies
November 2025
Deep Learning Crash Course

Deep Learning Crash Course

Deep neural networks explained clearly, from fundamentals to real-world application. No PhD required.

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

Total TypeScript

Everything you need to know to build a TypeScript product from scratch.

Matt Pocock with Taylor Bell
April 2026
Effective Shell

Effective Shell

Master the tools. Build the workflow. Own the shell.

Dave Kerr
June 2025
Effective C, 2nd Edition

Effective C, 2nd Edition

C is unforgiving, powerful, and worth learning properly. This is where you start.

Robert C. Seacord
September 2024
Graph Algorithms the Fun Way

Graph Algorithms the Fun Way

Graph algorithms explained through puzzles, mazes, and fantastical problems. More fun than it sounds.

Jeremy Kubica
October 2024
The Nature of Code

The Nature of Code

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

Daniel Shiffman
July 2024
The Book of Batch Scripting

The Book of Batch Scripting

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

Jack McLarney
May 2024
The Art of ARM Assembly

The Art of ARM Assembly, Volume 1

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

Randall Hyde
January 2025
Social Media Exposed placeholder cover

Social Media Exposed

Learn how to build a web app that can monitor millions of posts across social media to chart public opinion in real time.

Alexei Sisulu Abrahams
Fall 2026
Kotlin from Scratch

Kotlin from Scratch

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

Faisal Islam
November 2024
Math for Programming

Math for Programming

A one-stop-shop for all the math you should have learned for your programming career.

Ronald T. Kneusel
March 2025
The C# Type System

The C# Type System

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

Steve Love
September 2023
Algorithmic Thinking, 2nd Edition

Algorithmic Thinking, 2nd Edition

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

Daniel Zingaro
December 2023
The Art of Randomness

The Art of Randomness

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

Ronald T. Kneusel
January 2024
The Complete Developer

The Complete Developer

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

Martin Krause
January 2024
Math Hacks for Scratch

Math Hacks for Scratch

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

Michael Mays
October 2024
Python Playground, 2nd Edition

Python Playground, 2nd Edition

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

Mahesh Venkitachalam
September 2023
The Shape of Data

The Shape of Data

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

Colleen M. Farrelly and Yaé Ulrich Gaba
July 2023
Practical Julia

Practical Julia

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

 

Lee Phillips
October 2023
Python for Kids, 2nd Edition

Python for Kids, 2nd Edition

The book that got a generation of kids coding in Python, fully updated for the latest version.

Jason R. Briggs
October 2022
MySQL Crash Course

MySQL Crash Course

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.

Rick Silva
March 2023
Dive Into Data Science

Dive Into Data Science

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

Bradford Tuckfield
April 2023
The Book of Kubernetes

The Book of Kubernetes

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

Alan Hohn
August 2022
Python Crash Course 3rd Edition

Python Crash Course, 3rd Edition

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

Eric Matthes
December 2022
Strange Code

Strange Code

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

Ronald T. Kneusel
August 2022
Data Structures the Fun Way

Data Structures the Fun Way

Binary trees, hash tables, and heaps, explained through puzzles and analogies. More fun than it sounds.

Jeremy Kubica
September 2022
PHP Crash Course

PHP Crash Course

A complete, practical foundation for writing professional web applications.

Matt Smith
December 2024
Python for Data Science

Python for Data Science

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

Yuli Vasiliev
June 2022
The Art of Clean Code

The Art of Clean Code

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

Christian Mayer
June 2022
The Book of Dash

The Book of Dash

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

Adam Schroeder, Christian Mayer, and Ann Marie Ward
September 2022
The Recursive Book of Recursion

The Recursive Book of Recursion

Teaches all the basics of recursion through coding projects, running programs, and using algorithms.

Al Sweigart
July 2022
Modeling and Simulation in Python

Modeling and Simulation in Python

Learn how to produce simulations of real-world systems with this easy-to-follow intro to physical modeling.

Allen B. Downey
March 2023
The Art of Machine Learning

The Art of Machine Learning

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

Norman Matloff
November 2023
JavaScript Crash Course

JavaScript Crash Course

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

Nick Morgan
January 2024
Writing a C Compiler

Writing a C Compiler

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

Nora Sandler
July 2024
Object-Oriented Python

Object-Oriented Python

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

Irv Kalb
December 2021
Rust for Rustaceans

Rust for Rustaceans

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

Jon Gjengset
November 2021
The Missing README

The Missing README

The Missing README gives new engineers a masterclass in coding practices, technical skills, and tips for workplace success.

Chris Riccomini and Dmitriy Ryaboy
August 2021
Make Python Talk

Make Python Talk

Make Python Talk teaches you how to build voice-controlled apps with speech-recognition and text-to-speech features.

Mark Liu
August 2021
Bare Metal C

Bare Metal C

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

Stephen Oualline
June 2022
Dive Into Systems

Dive Into Systems

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

Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb
August 2022
The Art of WebAssembly

The Art of WebAssembly

WebAssembly opens the browser to every language. Here's how to use it.

Rick Battagline
May 2021
How Linux Works, 3rd Edition

How Linux Works, 3rd Edition

The “hows” and “whys” of How Linux Works: for anyone who wants to understand the inner workings of the best operating system.

Brian Ward
April 2021
Hello Web Design

Hello Web Design

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.

Tracy Osborn
June 2021
Black Hat Python, 2nd Edition

Black Hat Python, 2nd Edition

The Python tools hackers actually use, fully updated. Fully on the darker side.

Justin Seitz and Tim Arnold
April 2021
The Big Book of Small Python Projects

The Big Book of Small Python Projects

Al Sweigart's Big Book of Small Python Projects shows you how to easily build over 80 fun programs with minimal code and maximum creativity.

Al Sweigart
June 2021
Learn to Code By Solving Problems

Learn to Code by Solving Problems

Learn to Code by Solving Problems is a beginner's book that uses coding-competition challenges to teach you how to write programs in Python.

Daniel Zingaro
June 2021
Practical SQL, 2nd Edition

Practical SQL, 2nd Edition

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

Anthony DeBarros
January 2022
Racket Programming the Fun Way

Racket Programming the Fun Way

If you want to learn coding, try Racket Programming the Fun Way! Build skills while you solve math puzzles, create art, and play games.

James W. Stelly
January 2021
Network Programming with Go

Network Programming with Go

Network Programming with Go teaches you how to write clean, secure network software with the programming language designed to make it seem easy.

Adam Woodbeck
March 2021
Learn Python Visually

Learn Python Visually

Learn Python Visually takes a visual approach to teaching total beginners key programming concepts and coding techniques used in creative technology

Tristan Bunn
April 2021
How Computers Really Work

How Computers Really Work

Boost your computing prowess with How Computers Really Work, which deftly deconstructs hardware, software, and everything in between.

Matthew Justice
December 2020
Dive Into Algorithms

Dive Into Algorithms

Dive Into Algorithms is a wide-ranging introduction to algorithms using the Python Programming Language.

Bradford Tuckfield
January 2021
Computer Graphics from Scratch

Computer Graphics from Scratch

Computer Graphics from Scratch demystifies the algorithms used in modern graphics software and guides beginners through building photorealistic 3D renders.

Gabriel Gambetta
April 2021
Real-World Python

Real-World Python

Real World Python's fun, practice-based approach to writing programs launches you on exciting missions as you grow your skills.

Lee Vaughan
November 2020
Machine Learning for Kids

Machine Learning for Kids

Machine learning concepts explained through hands-on projects kids can actually build.

Dale Lane
February 2021
Hardcore Programming for Mechanical Engineers

Hardcore Programming for Mechanical Engineers

Hardcore Programming for Mechanical Engineers is for intermediate programmers who want to write good applications that solve tough engineering problems – from scratch.

Angel Sola Orbaiceta
June 2021
Dead Simple Python

Dead Simple Python

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

Jason C. McDonald
October 2022
Write Great Code, Volume 2, 2nd Edition

Write Great Code, Volume 2, 2nd Edition

Write Great Code, Volume 2, 2nd Edition covers high-level programming languages (such as Swift and Java) as well as code generation on 64-bit CPUsARM, the Java Virtual Machine, and the Microsoft Common Runtime

Randall Hyde
August 2020
Coding in the Classroom

Coding in the Classroom

For teachers and parents, Coding in the Classroom explains the benefits of computer science education and provides strategies to get kids coding!

Ryan Somma
September 2020
The Coding Workbook

The Coding Workbook

Build a website with your pencil! The Coding Workbook empowers you to teach students the basics of web development without a computer.

Sam Taylor
December 2020
Scratch 3 Programming Playground

Scratch 3 Programming Playground

Learn to code video games at any age or skill level with Scratch 3 Programming Playground! Freshly updated for Scratch 3.0.

Al Sweigart
January 2021
Python One-Liners

Python One-Liners

Write concise, eloquent Python like a professional with Python One-Liners.

Christian Mayer
April 2020
Mining Social Media

Mining Social Media

Mining Social Media explains how to obtain, process, and analyze data from the social web in meaningful ways with the Python programming language.

Lam Thuy Vo
November 2019
The Secret Life of Programs

The Secret Life of Programs

The Secret Life of Programs is a primer on the underlying technologies that allow computer programs to work.

Jonathan E. Steinhart
August 2019
Super Scratch Programming Adventure! (Scratch 3)

Super Scratch Programming Adventure! (Scratch 3)

In Super Scratch Programming Adventure! (Scratch 3), kids learn programming fundamentals as they make their very own playable video games. Now updated to cover Scratch 3!

The LEAD Project
August 2019
Programming with OpenSCAD

Programming with OpenSCAD

Programming with OpenSCAD teaches beginners both how to code and how to use freely available OpenSCAD software to design and print 3D models.

Justin Gohde and Marius Kintel
August 2021
Autotools, 2nd Edition

Autotools, 2nd Edition

Autotools, 2nd Edition is the long awaited update to the practitioner's guide to GNU Autoconf, Automake, and Libtool.

John Calcote
November 2019
Write Great Code, Volume 3

Write Great Code, Volume 3

Write Great Code, Volume 3 shows you how to create readable and maintainable code that will impress your fellow programmers.

Randall Hyde
August 2020
Your Linux Toolbox

Your Linux Toolbox

Your Linux Toolbox is a collection of all the awesome Linux zines you love, now as a fancy box set!

Julia Evans
August 2019
The Official Scratch Coding Cards (Scratch 3.0)

The Official Scratch Coding Cards (Scratch 3.0)

The Official Scratch Coding Cards (Scratch 3.0) is a deck of 76 activity cards that teaches kids to code with Scratch, a popular visual programming language.

Natalie Rusk and the Scratch Team
May 2019
PowerShell for Sysadmins

PowerShell for Sysadmins

Automate everything Windows with PowerShell. Formerly known as the boring way to do it.

Adam Bertram
February 2020
Make Your Own Twine Games!

Make Your Own Twine Games!

Make Your Own Twine Games! is a playful, kid-friendly introduction to game development using Twine, a free online scripting tool for creative storytelling.

Anna Anthropy
March 2019
Make Your Own Scratch Games!

Make Your Own Scratch Games!

Make Your Own Scratch Games! is a playful, kid-friendly introduction game development using the Scratch programming language.

Anna Anthropy
July 2019
Make Your Own PuzzleScript Games!

Make Your Own PuzzleScript Games!

Make Your Own PuzzleScript Games! is a playful, kid-friendly introduction to game development using PuzzleScript, a free online tool for creating puzzle games and platform games.

Anna Anthropy
November 2019
ScratchJr Coding Cards

ScratchJr Coding Cards

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.

Marina Umaschi Bers and Amanda Sullivan
July 2018
Impractical Python Projects

Impractical Python Projects

Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills.

Lee Vaughan
November 2018
Python Flash Cards

Python Flash Cards

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

Eric Matthes
January 2019
C++ Crash Course

C++ Crash Course

C++ Crash Course is a fast-paced, thorough introduction to modern C++ written for experienced programmers.

Josh Lospinoso
September 2019
Coding with Minecraft

Coding with Minecraft

Coding with Minecraft is a hands-on introduction to coding that teaches how to program bots to do cool things in Minecraft.

Al Sweigart
May 2018
Serious Python

Serious Python

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

Julien Danjou
December 2018
Black Hat Go

Black Hat Go

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

Tom Steele, Chris Patten, and Dan Kottmann
February 2020
Mission Python

Mission Python

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

Sean McManus
October 2018
Math Adventures with Python

Math Adventures with Python

Math Adventures with Python teaches you how to use Python to transform learning math topics like algebra, geometry, and calculus!

Peter Farrell
January 2019
Cracking Codes with Python

Cracking Codes with Python

Cracking Codes with Python teaches you how to program in Python while making and breaking ciphers.

Al Sweigart
January 2018
Learn Java the Easy Way

Learn Java the Easy Way

Learn Java the Easy Way is a beginner-friendly, project-based introduction to Java.

Bryson Payne
October 2017
Understanding ECMAScript6

Understanding ECMAScript 6

Understanding ECMAScript 6 covers the new object types, syntax, and other exciting features in the latest version of JavaScript.

Nicholas C. Zakas
August 2016
Coding iPhone Apps for Kids

Coding iPhone Apps for Kids

Coding iPhone Apps for Kids teaches you how to program the iOS apps and games you’ve always wanted to make!

Gloria Winquist and Matt McCarthy
June 2017
The CS Detective

The CS Detective

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

Jeremy Kubica
August 2016
Learn to Program with Small Basic

Learn to Program with Small Basic

Learn to Program with Small Basic is a playful introduction to the kid-friendly programming language created by Microsoft.

Majed Marji and Ed Price
April 2016
Learn to Program with Minecraft

Learn to Program with Minecraft

Learn to Program with Minecraft will teach you the basics of Python programming while having fun with Minecraft!

Craig Richardson
December 2015
Game Hacking

Game Hacking

Game Hacking shows programmers how to dissect computer games and create bots.

Nick Cano
July 2016
The SparkFun Guide to Processing

SparkFun Guide to Processing

The SparkFun Guide to Processing is a hands-on introduction to Processing for non-coders.

Derek Runberg
August 2015
The GNU Make Book

GNU Make Book

The GNU Make Book is a practical, thorough guide to GNU Make basics, solutions, and advanced uses.

John Graham-Cumming
April 2015
Teach Your Kids to Code

Teach Your Kids to Code

Teach Your Kids to Code is a parent and teacher's guide to teaching basic programming and problem-solving skills.

Bryson Payne
April 2015
Doing Math with Python

Doing Math with Python

Doing Math with Python teaches you how to use Python as a tool to explore mathematics.

Amit Saha
August 2015
Clojure for the Brave and True

Clojure for the Brave and True

Clojure for the Brave and True is an epic introduction to functional programming with Clojure.

Daniel Higginbotham
October 2015
Data Visualization with JavaScript

Data Visualization with JavaScript

Data Visualization with JavaScript shows developers how to create impressive data visualizations for the web, including animated charts

Stephen A. Thomas
March 2015
Build an HTML5 Game

Build an HTML5 Game

Build an HTML5 Game teaches web developers to create a game with HTML5, CSS, and JavaScript.

Karl Bunyan
March 2015
Wicked Cool Shell Scripts, 2nd Edition

Wicked Cool Shell Scripts, 2nd Edition

Wicked Cool Shell Scripts, 2nd Edition is a collection of fun tools for sysadmins, web developers, and every Linux user.

Dave Taylor and Brandon Perry
October 2016
Rails Crash Course

Rails Crash Course

Rails Crash Course shows you how to harness Rails to build web applications that are fast, stable, and secure.

Anthony Lewis
October 2014
If Hemingway Wrote JavaScript

If Hemingway Wrote JavaScript

If Hemingway Wrote JavaScript playfully imagines JavaScript programs as written by famous authors.

Angus Croll
October 2014
Book of CSS3, 2nd Edition

Book of CSS3, 2nd Edition

The Book of CSS3, 2nd Edition distills the murky language of the CSS3 specification into plain English.

Peter Gasston
November 2014
Ruby Wizardry

Ruby Wizardry

Ruby Wizardry is a modern-day fairy tale that teaches programming skills kids can use.

Eric Weinstein
December 2014
JavaScript for Kids

JavaScript for Kids

JavaScript for Kids is a lighthearted introduction to the JavaScript language and programming in general.

Nick Morgan
December 2014
The Book of F#

Book of F#

The Book of F# teaches you to unlock the many strengths of F# to create smarter, leaner code.

Dave Fancher
March 2014
The LEGO MINDSTORMS EV3 Laboratory

The LEGO MINDSTORMS EV3 Laboratory

The LEGO MINDSTORMS EV3 Laboratory covers the essentials of making robots with LEGO's latest and greatest MINDSTORMS kit.

Daniele Benedettelli
October 2013
Ruby Under a Microscope

Ruby Under a Microscope

Ruby Under a Microscope gives developers an inside, hands-on look at Ruby's core, using simple diagrams coupled with clear explanations.

Pat Shaughnessy
November 2013
Perl One-Liners

Perl One-Liners

Perl One-Liners showcases 130 short and compelling lines of code that do all sorts of handy, geeky things.

Peteris Krumins
November 2013
Realm of Racket

Realm of Racket

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

Matthias Felleisen, David Van Horn, Conrad Barski, M.D., and Eight Students of Northeastern University
June 2013
The Modern Web

Modern Web

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

Peter Gasston
April 2013
Learn You Some Erlang for Great Good!

Learn You Some Erlang for Great Good!

Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.

Fred Hebert
January 2013
Think Like a Programmer

Think Like a Programmer

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.

V. Anton Spraul
August 2012
The Art of R Programming

Art of R Programming

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.

Norman Matloff
October 2011
The Book of Ruby

Book of Ruby

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.

Huw Collingbourne
July 2011
The Art of Assembly Language, 2nd Edition

Art of Assembly Language, 2nd Edition

Thoroughly updated and revised, The Art of Assembly Language, 2nd Edition leverages your knowledge of high level programming languages to teach you to write powerful, portable, and efficient assembly code.

Randall Hyde
March 2010
TCP/IP Guide

TCP/IP Guide

The TCP/IP Guide is a must-have addition to the libraries of internetworking students, educators, networking professionals, and those working toward certification.

Charles M. Kozierok
October 2005
The Art of Debugging

Art of Debugging

Whether you dread the thought of debugging your programs or simply want to improve your current debugging efforts, you'll find a valuable ally in The Art of Debugging.

Norman Matloff and Peter Jay Salzman
September 2008
Code Craft

Code Craft

Code Craft will help take your programming beyond writing correct code to writing great code.

Pete Goodliffe
December 2006
Ruby by Example

Ruby by Example

Ruby by Example shows you how to take advantage of Ruby as you explore Ruby's fundamental concepts in action.

Kevin C. Baird
June 2007
Linux Programming Interface

Linux Programming Interface

The Linux Programming Interface is a comprehensive reference to the Linux API for experienced system programmers, as well as an introductory guide to these low-level interfaces for system programming newbies.

Michael Kerrisk
October 2010
Land of Lisp

Land of Lisp

Learn Lisp by writing games. Yes, actual games. Yes, actual Lisp.

Conrad Barski, M.D.
October 2010
Gray Hat Python

Gray Hat Python

Security analysts write code too. This is the Python book they've been waiting for.

Justin Seitz
April 2009
Wicked Cool Ruby Scripts

Wicked Cool Ruby Scripts

Wicked Cool Ruby Scripts will teach you how to automate repetitive tasks using Ruby, one of the most powerful and easy-to-use programming languages around.

Steve Pugh
December 2008