digital humanities

Teaching Online with ViaX

Education has recently been turned on its head as schools all over the world have been forced to migrate their instruction online at the drop of a hat. I have already written a post about how I had to manage such a change in the context of the creative media education we provide at SAE Institute Paris. That said, one of the reasons I was able to make that change so quickly was because of my experience teaching online through the Chinese EdTech, ViaX. Indeed, both during and after my Ph.D., I actively sought out opportunities to work online, as I figured it was the perfect combination of my interests in both the humanities and STEM fields. And since graduating, my work with ViaX as well as with other EdTech companies (more posts to come) has grown in scope. Since I know that many Ph.D.s who are looking to transition out of the academy and into EdTech, I figured that this post might help people understand exactly what this sort of work entails.

1. Getting the Job

In January 2018, I was frantically finishing my dissertation and looking for jobs. I had done some curriculum design work with an EdTech company called Transparent Language the previous summer, as well as an intense amount of teaching English online. While I had a lot of experience teaching French language and literature in a traditional classroom setting at Princeton, as well as mentoring individual students through my work at the Princeton Writing Center, I loved these experiences since they gave me a glimpse into another type of education. Like many people, I had taken a few online classes throughout my own education, but was always somewhat dissatisfied. Curriculum design and teaching online courses myself made me feel like I could correct or improve upon those very aspects that I had found less engaging in my own student experience.

Well, it was right around this time that I got an email from ViaX saying that they found my profile and research interesting and that they suspected that their students might like to take a class with me. The email had a number of encoding issues, so had actually ended up in my spam folder (it turns out that this is a common issue when Chinese emails are received on non-Chinese servers) — thank goodness I checked! After I responded to this preliminary email, I had two interviews with one of their representatives, the second of which was more like a brainstorming about the type of class I could teach. Since their students were very interested in technical training and since they were leaning towards project-based learning, I proposed a course on Digital Humanities that would cover computer-assisted text analysis, something I had a lot of experience with myself, but not much formal training in. I was happy to see from that second interview that we were on the same page, so they sent me a contract and scheduled my first group workshop!

2. Curriculum Design

Before teaching my first workshop in April-May 2018, I had to design the class. And while I had dabbled in curriculum design before as I mentioned above, that was primarily for asynchronous instruction, namely designing reading assignments, multiple-choice quizzes, and various assessments for a class that would not happen in real time. This time, I had to design five classes of two hours each that would be taught synchronously via Zoom, and interface I had never used before save for a few online interviews. On top of that, I had to figure out how to teach technical skills (text encoding, making network graphs, etc.) in such a setting.

My first instinct was to structure the course according to a specific set of texts so that all students would have the same exercises, but then I realized that students would not all have the same interests. It’s true that I could have given them texts that I had already studied and encoded, but this would only be reproducing a certain kind of thinking. Then it hit me — by letting students choose their own topics, they would develop both their critical, analytical skills as well as the technical ones that got them in the classroom in the first place! With that in mind, I began by designing the homework assignments, with each one consisting of a technical assignment to introduce students to the specific tool they were studying that week, and another one more conceptual. The conceptual assignments were cumulative, building on one another to help students arrive at the final assignment, a research proposal.

Then, I began to design the lessons. Since I was used to teaching language classes, I wanted to foster active student participation through pointed questions. Therefore, I structured each lesson to include a number of different types of teaching: a mixture of lecturing, conceptual discussions, technical group activities, student presentations, and more. I hoped that this pedagogical diversity would allow all students to feel comfortable interacting in class, which I knew would help demystify these technical tools. Overall, I was thrilled to get to design the sort of class I wish I had had before starting my digital humanities work!

3. Online Teaching

My first experience teaching my ViaX workshop online was rewarding, but difficult. While I had designed each class with a number of interactive activities, I found it very difficult to get the students to engage with those activities. In class, the first issue I had was that most students signed into Zoom with their Chinese names, which I couldn’t read. Another issue with participation came from technical issues — when all students had their microphones on, I also heard a lot of echos and background noise. Yet, I didn’t want to discourage students from talking. I learned that it was extremely important to set the ground rules in the first lesson, or even before. While these sound like very minor issues, they turned out to be essential to keep the class running smoothly, and my Teaching Assistant was able to help a lot with online classroom etiquette. Finally, it was a challenge to encourage student participation. Not only is it unnatural to participate in an online classroom, but many of the students told me that they weren’t used to this sort of seminar-style class, as in China, the educational system is much more oriented towards lecturing and rote memorization. That said, little by little, I’ve managed to encourage more and more participation in these classes, which all students admit is extremely useful for them.

In addition to the classroom dynamic, certain aspects of the material that seemed second nature to me seemed extremely difficult for the students — for instance, many did not know what a plain text file was, let alone have any idea about how computers function. I realized that, for the next time I taught the class, I had to explain everything, even if I wouldn’t necessarily have considered it in a traditional classroom. Especially considering that many students did not feel comfortable speaking in class, it was hard for me to tell what they understood and what they needed more help on. This was why I also redesigned the homework assignments, making them far more user friendly as well as mandatory, so that I would at least have an email from each student every week. I will likely write another post about online teaching tips and tricks, but overall I have learned that the same pedagogical techniques apply in the online classroom, but are even more important online: especially, setting ground rules, encouraging participation, varying the rhythm of the classes, being explicit about learning objectives, and structuring the delivery so students are constantly in their proximal zone of development.

4. Consulting

In my first six months of working with ViaX, I was consistently impressed with the company’s mission and focus. Something that made me even happier with this job was that this respect was reciprocated — the ViaX team was always available to discuss ideas and work on improving the service together, resulting in my being invited to be a member of their Consulting Board. For instance, when I mentioned to them that their recruitment email had ended up in my spam folder, they were interested in how they could better recruit instructors. We collaborated a lot on this, and now I am often an important part in the hiring process, as many potential instructors want to talk with someone who is happy working with this company. I’ve also helped them with their website, I’ve participated in their webinar series about how to design a popular online class, and much more.

Working with ViaX has not only allowed me to improve my teaching, curriculum design, and consulting skills, but it has also given me a wonderful collection of friendly colleagues. Now I have WeChat on my phone and a dozen or so people I am in constant contact with — I’ve been learning about Chinese culture and education, sharing food pictures, and I even learned that my name in Chinese can be written like this: 娜塔莉 (apparently it’s not a real “name,” but it sounds the same and shows that I’m a girl). They have even sent me a lovely calendar for 2019, and most recently, a huge pack of masks since they were hard to come by in France during confinement!

2019 Peter Lang Young Scholars Competition in French Studies

I am pleased to announce that my dissertation, The Oulipo’s Mathematical Project (1960-2014) was just announced one of the winners of the 2019 Peter Lang Young Scholars Competition in French Studies! Looking at the titles of my fellow winners’ work, I can see that I am in very good company. This means that my manuscript is now under contract with Peter Lang Oxford, so please keep a lookout for it in 2021!

Winners of the 2019 Peter Lang Young Scholars Competition in French Studies


Digital Oulipo: Programming Potential Literature

I am pleased to announce the publication of my article, Digital Oulipo: Programming Potential Literature in the current issue of Digital Humanities Quarterly! This article recounts the project I completed within the Princeton Center for Digital Humanities, its design, difficulties, and results (both expected and unexpected). Most importantly, in it, I offer my two cents on the use of exploratory programming in Digital Humanities scholarship. Enjoy!

Twitter take 2: Navigating the MLA Convention

As someone on the academic job market who is also passionate about graduate student opportunities for professional development and making themselves marketable both within and outside the academy, I did not know what to expect from the MLA Convention. Of course I knew I had to attend and expected to have interviews, but I was nervous about juggling interview prep with academic panels and networking with scholars in my academic field. Furthermore, as an MLA Connected Academics Proseminar Fellow, I was excited to attend a number of seminars sponsored by the Connected Academics program on a range of topics from careers outside of the academy to advising and mentorship in the academy. Basically, I had a full schedule! As this was my first time attending the MLA, I was unsure of what to expect. Below are some of my main takeaways.

Academic Interviews

My first surprise was that I had no MLA interviews. It turns out that my academic interviews had been on Skype well in advance of the conference. I even had a Skype interview during the conference! Most of my colleagues at Princeton and at other universities had similar experiences — they were invited for Skype interviews in December and learned the results of those interviews before the Convention.

When I was invited for my first Skype interview, I was initially disappointed. I thought that an in-person interview would be better-suited to getting a job as a professor and I was worried that I would not be able to perform as well on a screen. However, when I saw the room at the MLA that had been designated for interviews — a gigantic hotel ballroom filled with tables and chairs for simultaneous interview — I realized that perhaps there were some advantages to a Skype interview. Being able to choose the space in which I interviewed alleviated some of the stress of the exercise. Furthermore, interviewing in early December allowed me to learn that I had a campus visit before the MLA, which made me feel less concerned about my job prospects during the holiday season. And of course, the Skype interview cost me nothing, whereas traveling to a conference can be an unwelcome financial burden on graduate students and contingent faculty who, let’s face it, are not necessarily well supported by their institutions.

Professional Development

One of the aspects of the MLA that pleasantly surprised me was the focus on professional development. I appreciated that there were jobs posted (and not just tenure-track academic jobs, but jobs at the CIA for instance), that interview coaching was provided, that students and faculty alike could get free professional head shots, that there was ample information about careers both inside and outside of the academy, and most importantly, that a variety of social events allowed people to meet one another. At the Connected Academics events in particular, I was able to meet a wide range of people who gave me advice on everything from the academic job market to engaging in humanitarian work. I met with a former professor of the institution where I had a campus visit; I met an assistant professor who had previously worked in a digital humanities/libraries context, and was happy to give me her perspectives on both academic and non-academic career options; I spoke with a Princeton PhD now working for the Huffington Post and a career services professional who specializes in working with graduate students.

While the people I met were certainly fascinating, the range of events that brought them together were even more exciting. Given that everything I had previously been told about the MLA painted the Convention as a means to an end — namely, getting an academic job — it was refreshing to see a number of panels devoted to alternative academic careers. Furthermore, those panels (contrary to traditional academic panels) had a clear purpose, optimistic feel, and concrete and useful advice. I left feeling energized at the various career prospects that I will have as a recipient of a PhD, whether or not I choose to pursue a traditional academic route.

Twitter as a Connection-Making Tool

I’ll admit it: I’ve been somewhat skeptical about Twitter in terms of its usefulness for professional development, academic or otherwise. To me, sending 140 characters out into the black hole of the internet, to be seen by a few people and then disappear, seemed the opposite of “professional.” Clearly, I understood the perks: there is something rhetorical about the short nature of the tweet; a tweet allows one to reach his or her constituents immediately, without the need for an intermediary; the chemical reaction in the brain provoked by seeing a simple number of likes or retweets is addictive, making you yearn for more; finally, twitter allows one to see the larger trends of our time, what is making the rounds in our intellectual circles, and to participate (however frivolously) in that dialogue. Concerning academics, however, the nature of Twitter always seemed in contradiction with our aims and goals. While brevity is the soul of wit, a 140-character tweet seems insufficient to broach real issues. And even though the peer-review process for academic publishing is long and flawed, one would think that academics would not hold tweets in very high esteem.

However, I had never considered immediate practical uses of Twitter. At the MLA Convention, it was a useful tool for me to bridge the academic and alternative academic, the personal and professional, the esoteric and the communal. The most basic use I found was as a note-taking tool. Having my computer out, I could simultaneously record the most interesting comments from the panels and get instantaneous confirmation of what was interesting by others who were following the same hashtags. Furthermore, when I could not be in two panels at once, the panel hashtag allowed me to see what had happened where I could not attend. That said, this depends upon the conference attendees. If few are on Twitter, this strategy would not work. Even at this particularly large convention, the panels that seemed to garner the most tweets were those dealing with professional development or digital humanities. Lucky for me, those are two of my main interests!

Most importantly, Twitter allowed this unfathomably large conference where it would have been impossible to forge meaningful connections for a lonely graduate student to feel much smaller. While I was lucky to have a group of friends, colleagues, and acquaintances there to help me get my bearings, many graduate students attend large conferences, present their papers, and then leave without having interacted with other scholars or networked. Twitter allowed me to find events that I might have otherwise missed, see which type of panels had a lively discussion, and get to know names and faces of those who were participating in the Twitter subset of MLA attendees. At the last panel I attended, I noticed that the woman next to me had been interacting with me on Twitter for days, and we were delighted to be able to meet in person.

In the end, while I am still skeptical of Twitter and feel it is far too hyped, I will continue to use it at conferences. While some might be better suited for this particular tool than others, using it costs me nothing and has the potential to lead me to people and resources I might not have otherwise known. And most importantly, it has the potential to be a crucial entryway into the inner circles of conferences, allowing graduate students to network more efficiently than ever before.

S+7 through NLTK


One of the earliest Oulipian procedures is Jean Lescure’s S+7. While its status as a constraint is debatable (originally called a method, sometimes referred to as a procedure), it is one of the most cited and perhaps also least understood of the Oulipo’s long list of techniques.

To begin, S stands for “substantif” (noun), but can be theoretically replaced with any other part of speech. One of the founders of the Oulipo, François Le Lionnais, pointed out that S+7 is a more specific version of m±n, where m is a “meaningful” part of speech and n is any integer. Carrying out an S+7 or any of its variations should be a purely mechanical procedure. All an author needs are two very important pieces: a pre-written text and a dictionary. Then, the author identifies all the nouns and replaces them with the nouns that come seven entries later in a dictionary of their choosing. The result therefore depends upon the original text and the dictionary chosen, but not much else.


In the bench Governor created the help and the economist.
And the economist was without forum, and void; and day was upon the failure of the deep. And the Spring of Governor moved upon the failure of the weddings.
And Governor said, Let there be link: and there was link.

(generated on

The interest of this particular S+7 and indeed most of the Oulipo’s best-loved examples is that the original text (Genesis from the Bible) is extremely recognizable. It isn’t the dictionary that led to the hilarity of the result, but rather that even with the noun substitutions, the original text is still very much audible, but with unexpected new words. While the choice of the dictionary could have created more specific substitutions, the Oulipo has not really done much experimenting with the dictionaries — they have used big ones and small ones (and in the case of one Queneau S+7, a culinary one).

Natural Language Processing

For my digital humanities project, I am making my own S+7 program using nltk with python. While my earlier programming efforts were difficult for a beginner, trying my hand at nltk makes me feel like I’ve made it to another level entirely. Going through their online textbook has been very helpful and has reinforced the programming knowledge I have already gained through working on this project. Also, Natural Language Processing has helped me better understand the early constraints of the Oulipo, greatly contributing to my chapter on algebra which includes analysis of the S+7 and its variations, as well as other methods that are based on simple substitutions, counting, or operations.

I am pleased to report that I am putting the final touches on this last program, which will allow the reader to generate a dictionary based on one author’s vocabulary (the one I am currently working with takes all the nouns from Edgar Allan Poe’s collected poetry) and substitute those nouns into a short excerpt from several other recognizable texts (Moby Dick, The Declaration of Independence, Genesis, A Tale of Two Cities, and The Raven).

Once I have worked out the kinks in my pluralizing function (if the original noun is plural, I need the substituted one to be plural as well), I will publish the code online in my Github repository as well as here on CORE. While I do not believe that this code is particularly useful, the process of creating it was invaluable to me as a scholar and a programmer. I now understand the Oulipo and their computer efforts much better, as well as their elementary procedures. Programming texts that seem gimmicky, but that are hardly ever “read” (such as the Cent mille milliards de poèmes) has forced me to design new ways to read them. I have also gained new insights into the digital humanities and how it can be used not to produce an online archive or digital editions of texts (though, I have created interactive, digital editions of certain texts or procedures), but rather to open eyes to the possibilities in such experimental fiction. Works written using new methods must be analyzed using new methods. In that sense, it was the intellectual process of carrying out this project and not the process itself that I will take with me.

Digital Humanities Summer School

Thanks to a travel grant from the Center for Digital Humanities @ Princeton, I have just completed the intensive week-long Digital Humanities summer school at the OBVIL laboratory at La Sorbonne. OBVIL stands for the “Observatoire de la vie littéraire” or the observatory of literary life. After my Digital Oulipo project and continued work on the Oulipo Archival Project, I cannot agree more with the metaphor of an observatory. Digital Humanities allow researchers to examine from a distance, which complements the traditional literary scholarship of “close readings.” Now more than ever, I believe humanities scholarship needs both perspectives to succeed.

In this intensive and rich program, I was able to continue to develop my skills in XML-TEI that I had been learning through the Oulipo Archival Project. Furthermore, I discovered exciting new software such as TXM, Phoebus, Médite, and Iramuteq and how they can be used to learn more about large corpuses of text. My favorite part of this program was that it was a specifically French introduction to European developments in the digital humanities, allowing me to broaden my perspective on the discipline.

Here is a brief summary of what I learned day by day. I am happy to answer any specific questions by email. Feel free to contact me if you want to know more about the OBVIL summer school, the specific tools discussed there, or just about digital humanities.

Day 1

The first day of the summer school was a general introduction to the history of digital humanities methods and how to establish a corpus to study using these digital methods. It was especially interesting for me to learn the history of these methods I have been experimenting with for months. I had no idea that the Textual Encoding Initiative (TEI) had been invented in 1987, before I was even born, as a new form of “literate” programming.

Surprisingly, the most useful workshop was a basic introduction to the various states of digital texts. While I knew most of the types of digital documents already as a natural byproduct of using computers in my day-to-day life, it was useful to discuss the specific terminology (in French even!) used to describe these various forms of texts and the advantages and disadvantages of each. For instance, while I knew that some PDFs were searchable while others are not, it was still useful to discuss how to create such documents, the advantages of each, and how to move from one medium to another.

Day 2

The second day of the summer school began by asking the not-so-simple question of “what’s in a word?” In the following sessions, we learned about everything from how to analyze word frequencies in texts to how to treat natural language automatically, through tokenization (segmenting text into elementary unities), tagging (determining the different characteristics of those unities), and lemmatization (identifying the base form of words).  We then had specific workshops meant to introduce us to ready-made tools we could use to treat language automatically. We did not discuss NLTK, however, which I am currently using to program the S+7 method for my Digital Oulipo project, most likely because using NLTK requires a basic understanding of programming in Python, which was out of the scope of this short summer school.

The second half of this day was an introduction to text encoding, how it works and why it is useful for analyzing large corpuses. While I was already familiar with everything covered here, it was still interesting to hear about the applications of TEI to something other than the Oulipo archive. It was especially interesting to hear about applications of TEI to highly structured texts such as 17th century French theater.

Day 3

This day was extremely technical. First we looked at co-occurrences of characters in Phèdre as an example of network graphs. Since the main technical work had been done for us, it was somewhat frustrating to be confronted with a result that we had no part in creating. While as a former mathematician, I knew how to understand the content of a network graph, many other students did not and took its spatial organization as somehow meaningful or significant. This demonstrates a potential pitfall in digital humanities research. One needs a proper technical understanding of the tools and how they function in order to interpret the results with accuracy.

In addition to network graphs, we also discussed how to use the XPath feature in Oxygen (an XML editor) to count various elements in classical theater such as spoken lines by characters, verses, or scenes in which characters take part. Once again, it was interesting to see how a computer could facilitate such a boring manual labor and how it could potentially be of interest for a scholar, but interpreting such statistical aspects of large corpuses of text is tricky work for someone whose last statistics class was in high school. This gave me the idea to create a course that would properly teach students how to use these tools and understand the results through workshops.

Day 4

This was another ready-made tool workshop in which we discussed using OBVIL’s programs Médite and Phoebus to edit online texts more efficiently and find differences between different editions. This was very interesting, but probably more useful for publishing houses than for graduate students.

The rest of the day was meant to introduce us to Textometry using TXM, but there were far too many technical issues with the computers provided by the university that we spent the entire time downloading the software on our personal laptops. This was not only frustrating, but ironic. One would think that a summer school in digital humanities run mostly by computer scientists would not have such technical difficulties.

Day 5

The final day of the program (Friday the 9th was devoted to discussing our personal projects with the staff) continued the work on TXM. In fact, as my section had had such issues the previous day, I decided to switch into the other group. This was a good decision, as the head of that session was more pedagogical in his approach, assigning a series of small exercises to introduce us to TXM. By experimenting with tokenization using TreeTagger and concordance of words, we were able to begin to write a bit of code that could parse a text and find specific groups of words.

This introduction was practical and hands on, but I wish there had been more. While I now know vaguely how to use TXM to analyze texts, I do not have experience coming up with the questions that such techniques might help me answer. This seems to me the key to effective digital humanities scholarship — asking a solvable question and knowing which tools can help you resolve it.

Digital Oulipo: Graph Theory for Literary Analysis

Raymond Queneau published Un conte à votre façon in 1967 in the midst of the Russian formalism excitement spurred by the translations of Vladimir Propp and his contemporaries. Propp’s premise is that all folktales can be broken into their simplest 31 narrative functions following an initial situation. À votre façon refers to a potential reader, who can compose it as he/she sees fit given a set of binary choices provided by Queneau. This “tree structure” comes from the mathematical field of graph theory that was being developed at that time by fellow Oulipian, Claude Berge. Queneau’s tale can, incidentally, be represented as a graph.

A graphical representation of the text designed by Queneau and published in a collected volume of the Oulipo

Queneau’s story initially gives this reader a choice between the story of three little peas, three big skinny beanpoles, or three average mediocre bushes. The following choices are all binary, and mostly stark oppositions. This is also a feature of algorithms, in the sense that binary choices must provide mutually exclusive alternatives. If not, the system would be contradictory. For instance, either the reader chooses to read the tale of the three peas or he does not. Should the reader prefer not to read this first option, (s)he will find that the two alternatives offer rather meager results. Refusing all three terminates the program almost immediately.

As with these preliminary choices, most nodes in Queneau’s short tale are superficial or contradictory, giving the reader only an illusion of choice. While the story and its various itineraries can be visualized as a flow chart, the story leaves very little freedom to the reader. The genius of the text lies in the simultaneous display of all possible options, allowing the reader unparalleled insight into the structure (and shortcomings) of this experimental tale.

At the end of Learn Python the Hard Way, I was able to make my own Un conte à votre façon program that allowed a reader to move through a “Map” with a pre-established number of scenes. While I was proud of myself for writing a program, I was still not satisfied. I wanted the graph and I wanted it to interact with the program somehow.

My technical lead, Cliff Wulfman introduced me to graphviz, an open source graph (network) visualization project that is freely available for Python. In graph theory, a graph is defined as a plot of nodes and edges. In graphviz as well, in order to make a graph, I had to define all requisite nodes and edges. The program then generates a visualization of the graph that is spatially efficient. As an exercise, I made a graph of the famous graph theory problem of the Bridges of Königsberg.

With this graph theoretical program in my Python arsenal, I was able to make my own graph of Un conte à votre façon. Still not enough, I aimed to integrate the two programs, and Cliff and I decided to give my original program the structure of a graph so that it would be able to generate a graph with graphviz at the end. My program now has nodes and edges that correspond with Queneau’s prompts and choices as follows.

With this structure, I was able to write a program that enters the graph at the first node and, depending on the choice of the user, proceeds through the story, printing out the selected nodes and the corresponding edges. The program records the path the reader takes and at the end, prints out a graph with the reader’s path filled in green, to represent the little peas. While my little program does not take into account the full potential of the intersection of graph theory and literature as proposed by Queneau’s text, I am very pleased with how it functions. For instance, I can leave to the reader the mathematical exercise of finding the minimum number of read-throughs required to hit every node. While there is still more that can be done, the graph my program generates is itself informative — side by side with the text, the reader can learn more about the potential of this three little peas story.

Digital OuLiPo: Learn Python the Hard Way

I wanted to write a brief blog post in praise of this free online textbook for Python. Over the January break, in order to move onto more complicated parts of my project (the Cent mille milliards de poèmes was a fairly basic introduction to programming), my technical lead proposed that I work my way through this textbook.

Written by Zed A. Shaw, this book has been helpful on many levels, not least of which because it introduced me to using the terminal rather than relying on some outside program. For my Cent mille milliards de poèmes annex, I had primarily been using AptanaStudio, which was a very powerful piece of software that allowed me to avoid learning the basics of programming. The first few chapters of Learn Python The Hard Way forced me to acquaint myself with the terminal.

The bulk of the chapters were similar to Code Academy, but working through the exercises outside of an online platform and then running them on the terminal was more pedagogical, as was the way the activities built upon themselves. I now feel more autonomous in my programming.

So for anyone else looking to learn a new (programming) language, I would highly recommend this free and easy online resource. Anything worth learning is worth learning the right way, and in this case, the “right” way seems to be “the hard way”!