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?
- 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.
- 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.”
- 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.
- 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.
- Many modules and libraries exist to import from: Not only does online support exist from python.org 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.
- 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.
- 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.
- Griffiths, David, and Paul Berry. Head First Programming: A Learners Guide to Programming Using the Python Language. Sebastopol, CA: O’Reilly Media, 2009.
- Turnbull, Scott. “Resources from Introduction to Python.” THATCamp SE: The Humanities and Technology Camp.
- —, Sari Connard, and Tim Bryson. Python Programming Group Documentation. Emory University Library.
- 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.