Exploratory Programming for the Arts and Humanities, second edition


Book Description

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.




Exploratory Programming for the Arts and Humanities


Book Description

A book for anyone who wants to learn programming to explore and create, with exercises and projects to help the reader learn by doing. This book introduces programming to readers with a background in the arts and humanities; there are no prerequisites, and no knowledge of computation is assumed. In it, Nick Montfort reveals programming to be not merely a technical exercise within given constraints but a tool for sketching, brainstorming, and inquiring about important topics. 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, beginning on a small scale and increasing in substance. In some cases, a specification is given for a program, but the core activities are a series of “free projects,” intentionally underspecified exercises that leave room for readers to determine their own direction and write different sorts of programs. Throughout the book, Montfort also considers how computation and programming are culturally situated—how programming relates to the methods and questions of the arts and humanities. The book uses Python and Processing, both of which are free software, as the primary programming languages.




Processing, second edition


Book Description

The new edition of an introduction to computer programming within the context of the visual arts, using the open-source programming language Processing; thoroughly updated throughout. The visual arts are rapidly changing as media moves into the web, mobile devices, and architecture. When designers and artists learn the basics of writing software, they develop a new form of literacy that enables them to create new media for the present, and to imagine future media that are beyond the capacities of current software tools. This book introduces this new literacy by teaching computer programming within the context of the visual arts. It offers a comprehensive reference and text for Processing (www.processing.org), an open-source programming language that can be used by students, artists, designers, architects, researchers, and anyone who wants to program images, animation, and interactivity. Written by Processing's cofounders, the book offers a definitive reference for students and professionals. Tutorial chapters make up the bulk of the book; advanced professional projects from such domains as animation, performance, and installation are discussed in interviews with their creators. This second edition has been thoroughly updated. It is the first book to offer in-depth coverage of Processing 2.0 and 3.0, and all examples have been updated for the new syntax. Every chapter has been revised, and new chapters introduce new ways to work with data and geometry. New “synthesis” chapters offer discussion and worked examples of such topics as sketching with code, modularity, and algorithms. New interviews have been added that cover a wider range of projects. “Extension” chapters are now offered online so they can be updated to keep pace with technological developments in such fields as computer vision and electronics. Interviews SUE.C, Larry Cuba, Mark Hansen, Lynn Hershman Leeson, Jürg Lehni, LettError, Golan Levin and Zachary Lieberman, Benjamin Maus, Manfred Mohr, Ash Nehru, Josh On, Bob Sabiston, Jennifer Steinkamp, Jared Tarbell, Steph Thirion, Robert Winter




Racing the Beam


Book Description

A study of the relationship between platform and creative expression in the Atari VCS, the gaming system for popular games like Pac-Man and Star Wars: The Empire Strikes Back. The Atari Video Computer System dominated the home video game market so completely that “Atari” became the generic term for a video game console. The Atari VCS was affordable and offered the flexibility of changeable cartridges. Nearly a thousand of these were created, the most significant of which established new techniques, mechanics, and even entire genres. This book offers a detailed and accessible study of this influential video game console from both computational and cultural perspectives. Studies of digital media have rarely investigated platforms—the systems underlying computing. This book, the first in a series of Platform Studies, does so, developing a critical approach that examines the relationship between platforms and creative expression. Nick Montfort and Ian Bogost discuss the Atari VCS itself and examine in detail six game cartridges: Combat, Adventure, Pac-Man, Yars' Revenge, Pitfall!, and Star Wars: The Empire Strikes Back. They describe the technical constraints and affordances of the system and track developments in programming, gameplay, interface, and aesthetics. Adventure, for example, was the first game to represent a virtual space larger than the screen (anticipating the boundless virtual spaces of such later games as World of Warcraft and Grand Theft Auto), by allowing the player to walk off one side into another space; and Star Wars: The Empire Strikes Back was an early instance of interaction between media properties and video games. Montfort and Bogost show that the Atari VCS—often considered merely a retro fetish object—is an essential part of the history of video games.




How to Design Programs, second edition


Book Description

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This introduction to programming places computer science at the core of a liberal arts education. Unlike other introductory books, it focuses on the program design process, presenting program design guidelines that show the reader how to analyze a problem statement, how to formulate concise goals, how to make up examples, how to develop an outline of the solution, how to finish the program, and how to test it. Because learning to design programs is about the study of principles and the acquisition of transferable skills, the text does not use an off-the-shelf industrial language but presents a tailor-made teaching language. For the same reason, it offers DrRacket, a programming environment for novices that supports playful, feedback-oriented learning. The environment grows with readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks. This second edition has been completely revised. While the book continues to teach a systematic approach to program design, the second edition introduces different design recipes for interactive programs with graphical interfaces and batch programs. It also enriches its design recipes for functions with numerous new hints. Finally, the teaching languages and their IDE now come with support for images as plain values, testing, event-driven programming, and even distributed programming.




Code as Creative Medium


Book Description

An essential guide for teaching and learning computational art and design: exercises, assignments, interviews, and more than 170 illustrations of creative work. This book is an essential resource for art educators and practitioners who want to explore code as a creative medium, and serves as a guide for computer scientists transitioning from STEM to STEAM in their syllabi or practice. It provides a collection of classic creative coding prompts and assignments, accompanied by annotated examples of both classic and contemporary projects, and more than 170 illustrations of creative work, and features a set of interviews with leading educators. Picking up where standard programming guides leave off, the authors highlight alternative programming pedagogies suitable for the art- and design-oriented classroom, including teaching approaches, resources, and community support structures.




10 PRINT CHR$(205.5+RND(1)); : GOTO 10


Book Description

A single line of code offers a way to understand the cultural context of computing. This book takes a single line of code—the extremely concise BASIC program for the Commodore 64 inscribed in the title—and uses it as a lens through which to consider the phenomenon of creative computing and the way computer programs exist in culture. The authors of this collaboratively written book treat code not as merely functional but as a text—in the case of 10 PRINT, a text that appeared in many different printed sources—that yields a story about its making, its purpose, its assumptions, and more. They consider randomness and regularity in computing and art, the maze in culture, the popular BASIC programming language, and the highly influential Commodore 64 computer.




A New Companion to Digital Humanities


Book Description

This highly-anticipated volume has been extensively revised to reflect changes in technology, digital humanities methods and practices, and institutional culture surrounding the valuation and publication of digital scholarship. A fully revised edition of a celebrated reference work, offering the most comprehensive and up-to-date collection of research currently available in this rapidly evolving discipline Includes new articles addressing topical and provocative issues and ideas such as retro computing, desktop fabrication, gender dynamics, and globalization Brings together a global team of authors who are pioneers of innovative research in the digital humanities Accessibly structured into five sections exploring infrastructures, creation, analysis, dissemination, and the future of digital humanities Surveys the past, present, and future of the field, offering essential research for anyone interested in better understanding the theory, methods, and application of the digital humanities




Twisty Little Passages


Book Description

A critical approach to interactive fiction, as literature and game. Interactive fiction—the best-known form of which is the text game or text adventure—has not received as much critical attention as have such other forms of electronic literature as hypertext fiction and the conversational programs known as chatterbots. Twisty Little Passages (the title refers to a maze in Adventure, the first interactive fiction) is the first book-length consideration of this form, examining it from gaming and literary perspectives. Nick Montfort, an interactive fiction author himself, offers both aficionados and first-time users a way to approach interactive fiction that will lead to a more pleasurable and meaningful experience of it. Twisty Little Passages looks at interactive fiction beginning with its most important literary ancestor, the riddle. Montfort then discusses Adventure and its precursors (including the I Ching and Dungeons and Dragons), and follows this with an examination of mainframe text games developed in response, focusing on the most influential work of that era, Zork. He then considers the introduction of commercial interactive fiction for home computers, particularly that produced by Infocom. Commercial works inspired an independent reaction, and Montfort describes the emergence of independent creators and the development of an online interactive fiction community in the 1990s. Finally, he considers the influence of interactive fiction on other literary and gaming forms. With Twisty Little Passages, Nick Montfort places interactive fiction in its computational and literary contexts, opening up this still-developing form to new consideration.




Elements of Programming


Book Description

Elements of Programming provides a different understanding of programming than is presented elsewhere. Its major premise is that practical programming, like other areas of science and engineering, must be based on a solid mathematical foundation. This book shows that algorithms implemented in a real programming language, such as C++, can operate in the most general mathematical setting. For example, the fast exponentiation algorithm is defined to work with any associative operation. Using abstract algorithms leads to efficient, reliable, secure, and economical software.