> Exploratory Programming for the Arts and Humanities, second edition

Exploratory Programming for the Arts and Humanities
Second Edition

By Nick Montfort

MIT Press, May 2021
ISBN: 9780262044608
384 pp., 7" x 9", 10 b&w illus., hardcover + OA digital formats

The hardback book

Hardback: Retail price $40. Compare online bookstore prices. Find it in a library near you. Request a desk/examination copy.

HTML format seen on a notebook computer

HTML: OPEN ACCESS and freely available online thanks to the support of the MIT Libraries and hosting by the MIT Press.

EPUB format seen on a phone

EPUB: OPEN ACCESS and freely available for download thanks to the support of the MIT Libraries and hosting by the Internet Archive.

PDF format, rotated, seen on a notebook computer

PDF: OPEN ACCESS and freely available for download thanks to the support of the MIT Libraries and hosting by the Internet Archive.

Description - Contents - Praise - Formats

A new edition of a book for anyone who wants to learn programming to explore and create, with exercises and projects to help readers learn by doing.

This book introduces programming to readers involved with the arts and humanities; there are no prerequisites, and no previous knowledge of programming is assumed. Nick Montfort reveals programming to be not merely a technical exercise within given constraints but a tool for sketching, brainstorming, and inquiry. He emphasizes programming's exploratory potential—its facility to create new kinds of artworks and to probe data for new ideas. The book is designed to be read alongside the computer, allowing readers to program while making their way through the chapters. It offers practical exercises in writing and modifying code and outlines “free projects” that allow learners to pursue their own interests.

This second edition has been reorganized and expanded to allow more modular use while also offering a better experience for readers who wish to go through all the chapters. It provides many more exercises, especially early on, to help learners build a foundation of basic knowledge, and it offers new free projects. A new chapter on classification allows learners to understand machine learning through programming and across different types of media. This edition also includes new illustrations that support an understanding of essential concepts in programming as well as a significantly expanded glossary. The book uses Python and Processing, and has been updated from Python 2 to Python 3.


Please visit the open access HTML format to see the table of contents.


“An optimal place to begin your journey into coding. Clear, concise, and of consequence.”
—Wasalu Jaco
    pka Lupe Fiasco IT

“Montfort has constructed an entirely unique text in the crowded ‘how-to-program’ genre by focusing on programming as a mode of inquiry and on computation as culture.”
—Casey Reas
    Professor, UCLA Design Media Arts

“I turned to Montfort's first edition of Exploratory Programming for my humanities-based programming classes because it offered the beginning programmer an inviting and creative introduction for learning to code. Students remarked that the book ‘spoke their language’ in its explanations, with its examples, and through its exercises. This second edition builds on that foundation by paying even more attention to the vital role that experimental practice plays in learning programming as a form of inquiry. I'm excited to work with this second edition and am looking forward to what students build with it.”
—Casey Boyle
    Director, Digital Writing and Research Lab, University of Texas at Austin

“The second edition of Exploratory Programing for the Arts and Humanities is an astute, gentle, and reflective guide to coding. Through carefully chosen exercises, Montfort shows artists and humanists how to create and explore text and images, and demystifies how to make a computer do something new.”
—Benjamin Schmidt
    Director of Digital Humanities, NYU


Since before the publication of the first edition, it was important to me to have digital open access to this book. In part, to give back to the intellectual commons: I used free/libre/open source software exclusively in developing both editions, and no proprietary software is necessary to leran from this book. In other respects, so as to broaden the reach of the book beyond traditional classroom contexts.

Thanks to the generosity of the MIT Libraries, we are finally able to offer open access to this edition.

As I write in Exploratory Programming for the Arts and Humanities, second edition, “this book was written and designed to be read alongside a computer, allowing the reader to program while progressing through the book.” Using a digital format can actually hinder your learning if you copy and paste code from that digital text rather than typing in the code, as requested! (If you are going to use a digital format, I suggest using it on a separate device such as a phone or tablet, if possible.) The hardback format of the book provides the easiest random access to points of reference earlier in a chapter and is set up well to allow learners to review the plan of the book, the illustrations, and glossary entries. Those who can use the hardback format (whether by purchasing a copy or borrowing it from a library) will have the best learning experience. That said, please use whatever format you can afford, and can access, to help you reach your goals!

—Nick Montfort