Programming

Practical Purple Teaming placeholder cover

Practical Purple Teaming

Alfie Champion

This practical introduction to collaborative security testing, or “purple teaming,” is a hands-on, lab-based guide to key methodologies for cybersecurity practitioners in any field.

Computer Science From Scratch placeholder cover

Computer Science From Scratch

David Kopec

Test and sharpen your Python skills with seven guided projects that explore popular computer science challenges.

Practical Deep Learning, 2nd Edition cover

Practical Deep Learning, 2nd Edition

Ronald T. Kneusel

Practical Deep Learning, 2nd Edition is your gateway into AI, equipping you with the knowledge and confidence to build powerful AI models using the latest architectures and techniques.

Game Boy Coding Adventure placeholder cover

Game Boy Coding Adventure

Maximilien Dagois

A comprehensive tutorial on programming in assembly using the iconic Game Boy, teaching the basics of computer science in a fun and engaging way.

Deep Learning Crash Course placeholder cover

Deep Learning Crash Course

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

A complete guide to deep neural networks – the technology behind AI – covering fundamental and advanced techniques to apply machine learning in real-world scenarios.

Quantum Computing placeholder cover

Quantum Computing

Andrew Glassner

Learn to program tomorrow’s technology with this accessible exploration of quantum computing, requiring only high school math and a basic understanding of coding concepts.

Total Typescript placeholder cover

Total TypeScript

Matt Pocock with Taylor Bell

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

Effective Shell placeholder cover

Effective Shell

Dave Kerr

Teaches you how to navigate the command line so you can work faster and smarter and have more fun while you’re at it.

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.

Eloquent JavaScript, 4th Edition placeholder cover

Eloquent JavaScript, 4th Edition

Marijn Haverbeke

Start building beautiful web applications in JavaScript with the bestselling introduction to the language, updated with new features, fresh exercises, and fun projects.

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.

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.

Introduction to System Programming in Linux placeholder cover

Introduction to System Programming in Linux

Stewart N. Weiss

This comprehensive, Linux-focused introduction to system programming teaches how to write code for Linux and Unix – among the world’s most widely used operating systems.

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 all skill levels.

The Art of ARM Assembly cover

The Art of ARM Assembly, Volume 1

Randall Hyde

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

Linux Basics for Hackers, 2nd Edition cover

Linux Basics for Hackers, 2nd Edition

OccupyTheWeb

The second edition of this bestselling introduction to the Linux operating system for hackers and penetration testers has been fully updated and revised, covering the latest version of Kali.

Cover coming soon

Social Media Observatory

Alexei Sisulu Abrahams

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

Kotlin from Scratch placeholder cover

Kotlin from Scratch

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.

Math for Programming cover

Math for Programming

Ronald T. Kneusel

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

The C# Type System cover

The C# Type System

Steve Love

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

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 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.

The Complete Developer Cover

The Complete Developer

Martin Krause

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

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.

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.

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.

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.

 

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!

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.

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.

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.

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.

Strange Code Cover

Strange Code

Ronald T. Kneusel

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

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.

 

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.

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 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 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.

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.

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.

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.

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.

The Missing README front cover

The Missing README

Chris Riccomini and Dmitriy Ryaboy

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

Make Python Talk Cover

Make Python Talk

Mark Liu

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

Bare Metal C cover

Bare Metal C

Stephen Oualline

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

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.

The Art of WebAssembly Cover

The Art of WebAssembly

Rick Battagline

The Art of Web Assembly is a thorough and practice-based introduction to the new web standard dramatically speeding up web performance.

How Linux Works 3rd Ed cover

How Linux Works, 3rd Edition

Brian Ward

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

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.

Black Hat Python, 2nd Edition cover

Black Hat Python, 2nd Edition

Justin Seitz and Tim Arnold

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 Big Book of Small Python Projects

The Big Book of Small Python Projects

Al Sweigart

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.

Learn to Code By Solving Problems cover

Learn to Code by Solving Problems

Daniel Zingaro

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.

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.

Racket Programming the Fun Way Cover

Racket Programming the Fun Way

James W. Stelly

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

Network Programming with Go Cover

Network Programming with Go

Adam Woodbeck

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

Learn Python Visually Front Cover

Learn Python Visually

Tristan Bunn

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

How Computers Really Work Cover

How Computers Really Work

Matthew Justice

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

Dive Into Algorithms Cover

Dive Into Algorithms

Bradford Tuckfield

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

Computer Graphics from Scratch Cover

Computer Graphics from Scratch

Gabriel Gambetta

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

Real-World Python cover

Real-World Python

Lee Vaughan

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

Machine Learning for Kids Cover

Machine Learning for Kids

Dale Lane

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.

Practical Deep Learning Cover

Practical Deep Learning

Ronald T. Kneusel

Practical Deep Learning teaches total beginners how to build the datasets and models needed to train neural networks for your own DL projects.

Hardcore Programming for Mechanical Engineers

Hardcore Programming for Mechanical Engineers

Angel Sola Orbaiceta

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

Dead Simple Python

Jason C. McDonald

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

Write Great Code, Volume 2, 2nd Edition Cover

Write Great Code, Volume 2, 2nd Edition

Randall Hyde

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

Coding in the Classroom Cover

Coding in the Classroom

Ryan Somma

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

The Coding Workbook Cover

The Coding Workbook

Sam Taylor

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

Scratch 3 Programming Playground Cover

Scratch 3 Programming Playground

Al Sweigart

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

Python One-Liners

Python One-Liners

Christian Mayer

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

Mining Social Media

Mining Social Media

Lam Thuy Vo

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

Automate the Boring Stuff with Python, 2nd Edition

Automate the Boring Stuff with Python, 2nd Edition

Al Sweigart

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.

The Secret Life of Programs

The Secret Life of Programs

Jonathan E. Steinhart

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

Learn to Program with App Inventor

Learn to Program with App Inventor

Lyra Blizzard Logan

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.

Programming with OpenSCAD Front Cover

Programming with OpenSCAD

Justin Gohde and Marius Kintel

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

Autotools, 2nd Edition

Autotools, 2nd Edition

John Calcote

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

Write Great Code, Volume 3 Cover

Write Great Code, Volume 3

Randall Hyde

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

Your Linux Toolbox

Your Linux Toolbox

Julia Evans

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

The Linux Command Line, 2nd Edition

The Linux Command Line, 2nd Edition

William Shotts

This newly revised edition of The Linux Command Line contains various modernizations, including bash version 4.x and several useful new features.

Box Front Cover

The Official Scratch Coding Cards (Scratch 3.0)

Natalie Rusk and the Scratch Team

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.

PowerShell for Sysadmins

PowerShell for Sysadmins

Adam Bertram

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.

Make Your Own Twine Games!

Make Your Own Twine Games!

Anna Anthropy

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

Make Your Own Scratch Games!

Make Your Own Scratch Games!

Anna Anthropy

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

Make Your Own PuzzleScript Games!

Make Your Own PuzzleScript Games!

Anna Anthropy

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.

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.

Impractical Python Projects

Impractical Python Projects

Lee Vaughan

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

Linux Basics for Hackers

Linux Basics for Hackers

OccupyTheWeb

Linux Basics for Hackers uses the Kali Linux distribution to explain core Linux topics like filesystems, networking, package management, and BASH.

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.

C++ Crash Course

C++ Crash Course

Josh Lospinoso

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

Coding with Minecraft

Coding with Minecraft

Al Sweigart

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

Serious Python

Serious Python

Julien Danjou

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

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.

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.

Math Adventures with Python

Math Adventures with Python

Peter Farrell

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

Cracking Codes with Python

Cracking Codes with Python

Al Sweigart

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

Learn Java the Easy Way

Learn Java the Easy Way

Bryson Payne

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

Understanding ECMAScript6

Understanding ECMAScript 6

Nicholas C. Zakas

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

Coding iPhone Apps for Kids

Coding iPhone Apps for Kids

Gloria Winquist and Matt McCarthy

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

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.

Learn to Program with Small Basic

Learn to Program with Small Basic

Majed Marji and Ed Price

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

Learn to Program with Minecraft

Learn to Program with Minecraft

Craig Richardson

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

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.

Game Hacking

Game Hacking

Nick Cano

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

The GNU Make Book

GNU Make Book

John Graham-Cumming

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

Teach Your Kids to Code

Teach Your Kids to Code

Bryson Payne

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

Doing Math with Python

Doing Math with Python

Amit Saha

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

Data Visualization with JavaScript

Data Visualization with JavaScript

Stephen A. Thomas

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

Build an HTML5 Game

Build an HTML5 Game

Karl Bunyan

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

Wicked Cool Shell Scripts, 2nd Edition

Wicked Cool Shell Scripts, 2nd Edition

Dave Taylor and Brandon Perry

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

Rails Crash Course

Rails Crash Course

Anthony Lewis

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

Book of CSS3, 2nd Edition

Book of CSS3, 2nd Edition

Peter Gasston

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

Ruby Wizardry

Ruby Wizardry

Eric Weinstein

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

JavaScript for Kids

JavaScript for Kids

Nick Morgan

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

The Book of F#

Book of F#

Dave Fancher

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

The LEGO MINDSTORMS EV3 Laboratory

The LEGO MINDSTORMS EV3 Laboratory

Daniele Benedettelli

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

Ruby Under a Microscope

Ruby Under a Microscope

Pat Shaughnessy

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

Perl One-Liners

Perl One-Liners

Peteris Krumins

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

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.

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.

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.

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.

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.

Learn You a Haskell for Great Good!

Learn You a Haskell for Great Good!

Miran Lipovača

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!

The Art of Assembly Language, 2nd Edition

Art of Assembly Language, 2nd Edition

Randall Hyde

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.

TCP/IP Guide

TCP/IP Guide

Charles M. Kozierok

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

The Art of Debugging

Art of Debugging

Norman Matloff and Peter Jay Salzman

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.

Code Craft

Code Craft

Pete Goodliffe

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

Ruby by Example

Ruby by Example

Kevin C. Baird

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

Linux Programming Interface

Linux Programming Interface

Michael Kerrisk

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.

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!

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.

Wicked Cool Ruby Scripts

Wicked Cool Ruby Scripts

Steve Pugh

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.