tutorial: digital research methods


In my courses, I make frequent use of tutorials, both text-based and video. With few exceptions, I make them all myself: Most of the material available online is too poorly structured, badly delivered, outdated, or just plain wrong to make use of it in a college classroom.

The copy included below is from a Digital Research Methods course blog, dated Feb 2, 2018.  This tutorial in particular is a Jupyter Notebook page, and is available to review by following the link at the very bottom of this page.

Jupyter Notebook is a modern marvel: A live, browser-based implementation of a self-contained Python environment built especially for data scientists. It is a terrific tool, but be forewarned: Clicking the link sets in motion a series of servers across the cloud. While subsequent launches are fast, the first launch will take about 60 seconds

Read more about Jupyter Notebook.

Code is Hard

I’m sure that some of you feel overwhelmed as you work to master these weird, radically new ideas. It is OK to feel that way — just keep chipping away at these fundamentals: Pretty soon some of it will start to feel familiar.

The Slippery Sir Hiss
The Slippery Sir Hiss. Python genus pythonidae.

Not that it will ever feel like home: The fact is that these technologies are evolving too quickly for that. (This is fast becoming an issue in software development among the coder rank and file).

But fluency is not your goal here: I’ll never ask you to write code from memory or invent code on-the-spot: You will always have access to the references and resources you’ve come to trust; you’ll always be able to lean on others in order to find your answers. This is a class about research, not about programming. In the long-term, I do think that the code we write has the potential to open up, in each of us, new vectors of reason and novel forms of critique. But for now, refuse to let yourself be intimidated by it.

The link below will take you to a tutorial that picks up on what we did not finish on Thursday. It does a reasonable job of explaining how to open and read data files in Jupyter. I’ll try to post a few more of these this afternoon (Sunday, 11 February).


The link itself is actually very interesting to us: I’m using a Jupyter notebook hosting service called “myBinder.” It’s new to me, and still in Beta, so there are some kinks to work out I’m sure, but it makes it so very easy to share your work with your peers as an interactive, live notebook. I just put my .ipynb file on Github and tell Binder to host.

mybinder.org is powered by a complex series of Docker scripts!

Bonus “It’s a Small World” detail: Guess what happens in the interim? Right: myBinder fires up Docker, and builds your notebook into a custom Docker container that is then launched on demand. See? It all comes full circle!


Work through the tutorial to learn the basics of loading a data file. Sometimes it will seem overly complicated — but don’t be discouraged: Once we get these first principles out of the way, the rest will come much easier. And we can actually focus on the research and our arguments themselves, rather than on Python.

Launch I/O Tutorial Part 1