Python for Humanists 1: Why Learn Python?

Posted by Roger Whitson on December 7th, 2011

At the Digital Scholarship Commons (DiSC), I’ve made one of my goals learning some basic programming. While I don’t think that every humanist needs to be a hardcore computer developer, I argue that humanists should at least have a basic knowledge of coding. In this new series, I will chronicle my own process of learning how to code with Python.

Why? In the post that follows, I will sketch out a case for 1) why humanists should learn to code; 2) why Python is a great language for beginning humanists; and 3) what are some great resources for learning Python.

Why should humanists code?
I get this question all of the time from my colleagues who are busy teaching and reserching and don’t really understand why they should devote the time to learning how to code. Let’s set aside the great arguments by Stephen Ramsay and others about the centrality to coding for the digital humanities. What can humanities scholars who do not actively practice digital scholarship learn from coding?

  1. Scholarship: As practitioners of Critical Code Studies show, code itself is something that can be read. Code makes an argument and can be analyzed. If humanists are studying, say, a digital scholarly edition, knowing how that edition is put together and what rhetorical interests are served by particular lines of code can be very useful.
  2. Student Needs: Learning how to code can make you a better teacher. Scholars like Katherine Harris and Brian Croxall are tireless advocates for digital pedagogy. Knowing how digital tools like Zotero and Omeka are put together can help you and your students understand the innerworkings of tools that are becoming increasingly important in teaching. As Julie Meloni argues “it becomes necessary [for students and teachers] to interrogate and investigate how these networks and methods of information organization, storage, and retrieval permeate their lives.”
  3. University Infrastructure: If digital information permeates our students lives, it also permeates the infrastructure of the University system. Learning how coding influences payroll and admissions, for example, can give scholars better evidence for making arguments about the success of their faculty and students.

Learn to Talk to Programmers: As digital scholarship becomes more prominent on University campuses, it will become more important for scholars to be able to discuss their work with programmers and developers. Knowing the basics of a computer language can help you communicate your ideas.

So, why should humanists learn to code? To better understand a world that is mediated by digital technology.

Why should humanist scholars learn Python? Many different programming languages exist out there. C++ has been a mainstay for computer programming for years. Javascript and Ruby are both useful in specific circumstances. Christine Cheung lists a number of reasons why Python is particularly useful as a beginning coding language.  

  1. It’s simple to get started: Python is a much more simple and elegant language than C# or even Javascript. You can learn the basics of Python pretty quickly and apply those basics to more complicated code.
  2. There is a huge online community to help you: Python maintains a great website with tons of documentation and a vigorous online community to help beginners.
  3. Many modules and libraries exist to import from: Not only does online support exist from but the site maintains a list of modules and libraries that can help you start on specific programming tasks. For example, if you are looking to use Python in conjunction with GIS (Geographical Information System) enabled map, you can find a module that will show you the basic outline of a program that is designed for that.
  4. It’s a cross-platform programming langauge: This means that you can be sure that Python will work whether you are using a Mac, a PC, or a Linux-based computer.
  5. It’s modular and abstracted: Modular programming allows you to abstract specific parts of a larger program and work on them separately before integrating them. This means that you don’t have to always think about how separate portions of your program are connected.

Python has a learning curve. You can’t learn Python instantaneously. Be patient, work incrementally, and realize that it takes time to read and write Python.

Important Resources for Python: Okay. Let’s say, I’ve convinced you to start learning Python. What are some resources to get started? I’ll cover how to read, install, and begin programming with Python in a later blog post, but I want to go over some great resources for you to look over in the meantime.

  1. Griffiths, David, and Paul Berry. Head First Programming: A Learners Guide to Programming Using the Python Language. Sebastopol, CA: O’Reilly Media, 2009.
  2. Turnbull, Scott. “Resources from Introduction to Python.” THATCamp SE: The Humanities and Technology Camp.
  3. —, Sari Connard, and Tim Bryson. Python Programming Group Documentation. Emory University Library.
  4. Google’s Python Class

That’s it! I hope you enjoyed my first post on Python. For my next post, we’ll be looking at some projects that used Python and learning the basics of Python syntax in order to read their code.

Graduate Course Proposal: Victorian Gothic Science Fiction

Posted by Roger Whitson on October 24th, 2014

Graduate Course Proposal: Materiality in the Digital Humanities

Posted by Roger Whitson on October 24th, 2014

My Presentation for the Catapault DH Colloquium Series: Nineteenth-Century DH

Posted by Roger Whitson on October 18th, 2014

Review of The Emergence of the Digital Humanities

Posted by Roger Whitson on August 28th, 2014

A New Birth of Academic Freedom

Posted by Roger Whitson on August 7th, 2014

My NASSR 2014 Presentation – “@autoblake: Between Critical Making and Computation”

Posted by Roger Whitson on July 8th, 2014

DHSI 2014 Day 1, or Why We Need the MLA Report

Posted by Roger Whitson on June 3rd, 2014

Some #dhsi2014 Essentials

Posted by Roger Whitson on May 25th, 2014