Algorithmic Thinking, 2nd Edition
Get in the game and learn essential computer algorithms by solving competitive programming problems—no math required.
Get in the game and learn essential computer algorithms by solving competitive programming problems—no math required.
Teaches beginners how to write apps that integrate graphics and sound (includes 100 example programs).
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.
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.
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.
The second edition of the best-selling Python book, Automate the Boring Stuff with Python, 2nd Edition (100,000+ copies sold in print alone) uses Python 3 to teach even the technically uninclined how to write programs that do in minutes what would take hours to do by hand.
Revised to include the latest Python features, even better explanations, and new chapters about databases and sound files.
Autotools, 2nd Edition is the long awaited update to the practitioner's guide to GNU Autoconf, Automake, and Libtool.
Teaches you how to program embedded devices with the C programming language.
Go from beginner programmer to Python programmer with Beyond the Basic Stuff with Python!
Black Hat Go will help you test your systems, build and automate tools to fit your needs, and improve your offensive security skillset.
Explore the stealthier side of programming with Black Hat Python, 2nd Edition – fully updated for Python 3, with all new strategies for your hacking projects!
The Book of CSS3, 2nd Edition distills the murky language of the CSS3 specification into plain English.
The Book of F# teaches you to unlock the many strengths of F# to create smarter, leaner code.
The Book of R is an interactive introduction to the essentials of R programming and statistics.
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.
Build an HTML5 Game teaches web developers to create a game with HTML5, CSS, and JavaScript.
C++ Crash Course is a fast-paced, thorough introduction to modern C++ written for experienced programmers.
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.
Clojure for the Brave and True is an epic introduction to functional programming with Clojure.
Code Craft will help take your programming beyond writing correct code to writing great code.
For teachers and parents,Coding in the Classroom explains the benefits of computer science education and provides strategies to get kids coding!
Coding iPhone Apps for Kids teaches you how to program the iOS apps and games you’ve always wanted to make!
Coding with Minecraft is a hands-on introduction to coding that teaches how to program bots to do cool things in Minecraft.
Computer Graphics from Scratch demystifies the algorithms used in modern graphics software and guides beginners through building photorealistic 3D renders.
Cracking Codes with Python teaches you how to program in Python while making and breaking ciphers.
Not the Same Old JavaScript.
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.
Data Visualization with JavaScript shows developers how to create impressive data visualizations for the web, including animated charts
A thorough intro to every feature of the language, for programmers who are impatient to write production code.
This comprehensive, hands-on guide to deep learning with Python covers fundamental concepts and advanced techniques to apply deep neural network models in real-world scenarios.
Deep Learning: A Visual Approach is your ticket to the future of artificial intelligence.
Dive Into Algorithms is a wide-ranging introduction to algorithms using the Python Programming Language.
Teaches you how to collect and work with data in business settings, and how to analyze data sets using Python code.
A vivid, layer-by-layer intro to computer architecture and software components.
Doing Math with Python teaches you how to use Python as a tool to explore mathematics.
Effective C: An Introduction to Professional C Programming is an in-depth look at the C programming language.
Is an introduction to essential C language programming that will soon have you writing programs, solving problems, and building working systems.
Teaches you how to navigate the command line so you can work faster and smarter and have more fun while you’re at it.
Eloquent JavaScript, 3rd Edition is a complete revision that dives into JavaScript to show you how to write elegant, effective JavaScript code.
Start building beautiful web applications in JavaScript with the bestselling introduction to the language, updated with new features, fresh exercises, and fun projects.
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.
Game Hacking shows programmers how to dissect computer games and create bots.
The GNU Make Book is a practical, thorough guide to GNU Make basics, solutions, and advanced uses.
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.
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.
Hardcore Programming for Mechanical Engineers is for intermediate programmers who want to write good applications that solve tough engineering problems – from scratch.
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.
Boost your computing prowess with How Computers Really Work, which deftly deconstructs hardware, software, and everything in between.
The “hows” and “whys” of How Linux Works: for anyone who wants to understand the inner workings of the best operating system.
If Hemingway Wrote JavaScript playfully imagines JavaScript programs as written by famous authors.
Impractical Python Projects is a collection of fun and educational projects designed to entertain programmers while enhancing their Python skills.
Learn what goes on "under the hood" of a computer.
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."
Invent Your Own Computer Games with Python teaches you how to make your own versions of classic computer games.
A thorough introduction that will have you writing your own JS software and web applications in no time.
JavaScript for Kids is a lighthearted introduction to the JavaScript language and programming in general.
Learn to code in Kotlin by starting from scratch and gradually building skills to tackle a wide range of fun and challenging problems.
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!
Learn Java the Easy Way is a beginner-friendly, project-based introduction to Java.
Deepen your understanding of physics by learning to use the Haskell functional programming language.
Learn Python Visually takes a visual approach to teaching total beginners key programming concepts and coding techniques used in creative technology
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.
Learn to Program with App Inventor will teach you how to build mobile apps for Android devices with MIT App Inventor, a visual drag-and-drop programming language like Scratch.
Learn to Program with Minecraft will teach you the basics of Python programming while having fun with Minecraft!
Learn to Program with Small Basic is a playful introduction to the kid-friendly programming language created by Microsoft.
It's all in the name: Learn You a Haskell for Great Good! is a hilarious, illustrated guide to this complex functional language. Expand your programming horizons, tackle old problems in a new way, and laugh till it hurts as you learn about monads, monoids, modules, and more!
Learn You Some Erlang for Great Good! is the perfect entry point into the sometimes-crazy, always-thrilling world of Erlang.
Linux Basics for Hackers uses the Kali Linux distribution to explain core Linux topics like filesystems, networking, package management, and BASH.
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.
Machine Learning for Kids pairs with a free online tool and the Scratch coding platform to teach you how to train machine-learning models and build your own AI projects.
Make Python Talk teaches you how to build voice-controlled apps with speech-recognition and text-to-speech features.
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.
Make Your Own Scratch Games! is a playful, kid-friendly introduction game development using the Scratch programming language.
Make Your Own Twine Games! is a playful, kid-friendly introduction to game development using Twine, a free online scripting tool for creative storytelling.
Math Adventures with Python teaches you how to use Python to transform learning math topics like algebra, geometry, and calculus!
A one-stop-shop for all the math you should have learned for your programming career.
Push Scratch programming to the limits as you explore mathematical curiosities through hands-on coding projects.
Mining Social Media explains how to obtain, process, and analyze data from the social web in meaningful ways with the Python programming language.
Mission Python will teach you how to program an adventure game in this hands-on, beginner-friendly introduction to coding in Python.
Learn how to produce simulations of real-world systems with this easy-to-follow intro to physical modeling.
The Modern Web deftly guides you through the technologies web developers will need now and in the years to come.
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.
Natural Language Processing with Python and spaCy is an introduction to the task of converting human language into data that a computer can process.
Network Programming with Go teaches you how to write clean, secure network software with the programming language designed to make it seem easy.
A hands-on tutorial that goes deep into OOP, showing you how to combine data and code into reusable units.
Perl One-Liners showcases 130 short and compelling lines of code that do all sorts of handy, geeky things.
Go from beginner to pro in PHP programming, through hundreds of in-depth examples and hands-on exercises.
Powershell for Sysadmins (formerly Automate the Boring Stuff with PowerShell) teaches you how to automate real-world tasks that IT professionals and system administrators deal with every day.
Practical Deep Learning teaches total beginners how to build the datasets and models needed to train neural networks for your own DL projects.
Use Julia as a research tool and solve real-world problems in this practical, hands-on intro to the language.
A fast-paced guide to SQL – the language for defining, organizing, and exploring relational data.
Do more with less. The Principles of Object-Oriented JavaScript helps you use this powerful language to its full potential.
Programming with OpenSCAD teaches beginners both how to code and how to use freely available OpenSCAD software to design and print 3D models.
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 help new Python coders drill and reinforce the concepts, syntax, and terminology they'll need to become successful professional programmers.
Introduces you to the Pythonic world of data analysis with a learn-by-doing approach rooted in hands-on activities.
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!
Write concise, eloquent Python like a professional with Python One-Liners.
Put the fun back in programming with 3D simulations, speech-recognition systems, IoT devices, and more.
Learn how to use R for everything from workload automation and creating online reports, to interpreting data, map making, and more.
If you want to learn coding, try Racket Programming the Fun Way! Build skills while you solve math puzzles, create art, and play games.
Rails Crash Course shows you how to harness Rails to build web applications that are fast, stable, and secure.
Real World Python's fun, practice-based approach to writing programs launches you on exciting missions as you grow your skills.
In Realm Of Racket, you'll learn to wield Racket's mighty yet mind-bending power by reading comics and programming games.
Ruby by Example shows you how to take advantage of Ruby as you explore Ruby's fundamental concepts in action.
Ruby Under a Microscope gives developers an inside, hands-on look at Ruby's core, using simple diagrams coupled with clear explanations.
Ruby Wizardry is a modern-day fairy tale that teaches programming skills kids can use.
Bridges the gap between beginners and professionals, enabling you to write apps, build libraries, and organize projects in Rust.
Learn to code video games at any age or skill level with Scratch 3 Programming Playground! Freshly updated for Scratch 3.0.
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 is a collection of practical, real-world advice for tackling common Python developer-level problems.
The SparkFun Guide to Processing is a hands-on introduction to Processing for non-coders.
Strengthen your coding skills by exploring the weird, wonderful world of atypical and esoteric languages.
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 TCP/IP Guide is a must-have addition to the libraries of internetworking students, educators, networking professionals, and those working toward certification.
Teach Your Kids to Code is a parent and teacher's guide to teaching basic programming and problem-solving skills.
Builds off its timeless predecessor, with a modern focus on writing programs using the x86 MASM.
Add valuable skills to your programming toolkit by learning to write complete applications in ARM, a popular low-level assembly language.
Uses 8 core principles, with a focus on simplicity and functionality, to teach you how to write clear, concise code.
Learn to expertly apply a range of machine learning methods to real data with this practical guide.
Use randomness to solve problems in fun, hands-on experiments—from simulating evolution to encrypting messages.
The Art of Web Assembly is a thorough and practice-based introduction to the new web standard dramatically speeding up web performance.
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.
This fast-paced, hands-on, quirky introduction to Windows’ Batch scripting language is ideal for all skill levels.
A practical, fast-paced introduction to building interactive data-visualization dashboard apps in Python.
This hands-on guidebook explains the inner workings of containers, and shows how Kubernetes helps computing, networking, and storage.
A comprehensive guide to effectively using modern C# to write better programs.
Build a website with your pencil! The Coding Workbook empowers you to teach students the basics of web development without a computer.
A hands-on, beginner-friendly approach to developing complete web applications from the ground up.
The CS Detective is a fantasy whodunit for the digital age that introduces the concepts behind search algorithms and important data structures.
The LEGO MINDSTORMS EV3 Laboratory covers the essentials of making robots with LEGO's latest and greatest MINDSTORMS kit.
This newly revised edition of The Linux Command Line contains various modernizations, including bash version 4.x and several useful new features.
The Missing README gives new engineers a masterclass in coding practices, technical skills, and tips for workplace success.
This creative coding tutorial is designed to grow your skills in a fun, hands-on way as you build simulations of natural phenomena.
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.
Teaches all the basics of recursion through coding projects, running programs, and using algorithms.
The quintessential guide to programming in Rust. Thoroughly updated to Rust’s latest version, this edition is considered the language’s official documentation.
The Secret Life of Programs is a primer on the underlying technologies that allow computer programs to work.
This advanced machine learning book teaches algorithms through geometry, and data analysis through practical scientific applications.
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.
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
Understanding ECMAScript 6 covers the new object types, syntax, and other exciting features in the latest version of JavaScript.
Webbots, Spiders, and Screen Scrapers, 2nd Edition will show you how to create simple programs with PHP/CURL to mine, parse, and archive online data.
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.
Wicked Cool Shell Scripts, 2nd Edition is a collection of fun tools for sysadmins, web developers, and every Linux user.
Write Great Code, Volume 1, 2nd Edition fills the knowledge gaps prevalent among working programmers who lack formal training.
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
Write Great Code, Volume 3 shows you how to create readable and maintainable code that will impress your fellow programmers.
A fun, hands-on guide to writing your own compiler for a real-world programming language.
Your Linux Toolbox is a collection of all the awesome Linux zines you love, now as a fancy box set!