This essential reading list started from the book "Program Or be Programmed: Ten Commands for a Digital Age" by Douglas Rushkoff (2010,2011 SoftSkull Press). It will grow and evolve over time.
Innis, Harold. The Bias of Communication. Toronto: University of Toronto Press, 2008 (first published in 1951).
Kelly, Kevin. What Technology Wants. New York: Viking, 2010.
Lanier, Jaron. You Are Not a Gadget. New York: Knopf, 2009.
Lessig, Lawrence. Free Culture: The Nature and Future of Creativity. New York: Penguin, 2005.
McLuhan, Marshall. Understanding Media. New York: McGraw-Hill, 1964.
Packer, Randall and Ken Jordan. Multimedia: From Wagner to Virtual Reality. New York: Norton, 2001. See the essays by Vannevar Bush, Norbert Weiner, James Licklider, Douglas Englebart, Ted Nelson, Alan Kay, and other Internet pioneers and visionaries.
Postman, Neil. Technopoly: The Surrender of Culture to Technology. New York: Vintage Books, 1993.
Rheingold, Howard. The Virtual Community: Homesteading on the Electronic Frontier. Boston: MIT Press, 1993.
Rushkoff, Douglas. Cyberia: Life in the Trenches of Hyperspace. San Francisco: Harper San Francisco, 1994.
Shiffman, Daniel. Learning Processing: A Beginner’s Guide to Programming Images, Animation, and Interaction. San Francisco: Morgan Kaufmann, 2008.
Shirky, Clay. Here Comes Everybody. New York: Penguin, 2009.
S. Raymond, Eric. The Cathedral and the Bazaar. O'Reilly Media, 1999.
Stephenson, Neal. In the Beginning Was the Command Line. New York: HarperCollins, 1999.
Turkle, Sherry. Alone Together: Why We Expect More from Technology and Less from Each Other. New York: Basic Books, 2011.
Wark, McKenzie. A Hacker Manifesto. Cambridge: Harvard University Press, 2004.
Weiner, Norbert. The Human Use of Human Beings: Cybernetics and Society. Cambridge: Da Capo Press, 1988 (first published in 1950).
Zitrain, Jonathan. The Future of the Internet—And How to Stop It. New Haven: Yale University Press, 2009.
PBS: Frontline: Digital Nation, by Rachel Dretzen and Douglas Rushkoff. Available streaming online at http://pbsdigitalnation.org.
BBC: The Virtual Revolution.
Scratch — MIT’s site for kids, but easy enough for adults.
Learn Python the Hard Way — A very accessible approach to a very useful computer language.
Learning Processing — tutorials by Daniel Shiffman.
Learning p5.js, a javascript library based on Processing - Coding Train tuturials by Daniel Shiffman.
SIMPLE — Some Apple II developers wrote this beginners’ language back in 1995.