Pitt-Greensburg Digital Studies Logo: I Code!

Maintained by: Elisa E. Beshero-Bondar (ebb8 at pitt.edu) Creative Commons License
Read the course description and syllabus in TEI XML.Last modified: 2015-03-05T07:45:19.586-05:00

Autumn 2014: Classes meet M W F 10:30 - 11:20 AM, 116 Cassell Hall

Syllabus: Autumn 2014

Course Enrollment and Electives Info:

  • Hum 1030: course registration number: 21948
  • Socsci 1031: course registration number: 25980
  • Satisfies HM, NS2, and SS General Electives at Pitt-Greensburg


co-taught by: Prof. Elisa Beshero-Bondar; email: ebb8 at pitt.edu and Prof. Gregory Bondar; email: ghb2 at pitt.edu

Elisa's Office Hours in FOB 204

  • Wed. 11:30 AM -12:30 PM
  • Thurs. 1-3 PM
  • and by appointment

Greg's Office Hours in FOB 104

  • Mon. 11:30 AM - 12:30 PM
  • Mon., Wed., and Fri. 2 - 3 PM
  • and by appointment

Course Projects

Explanatory Guides


Required Course Materials: Software and Box Access You'll Need:

Download and install the following software on your own personal computer(s). These are available in our campus computing labs, too.

  1. All students:<oXygen/>. The University of Pittsburgh has purchased a site license for this software, which is installed in the Pitt computer labs on multiple campuses, and it's in use in courses here at Greensburg and at Oakland. The license also permits students enrolled in the course to install the software on their home computers (for course-related use only). When installing this on your own computers, you will need the license key, which we have posted on our course Announcements section of Courseweb.
  2. All students require a good means of secure file transfer (SFTP) for homework assignments and projects (also available in the campus computer labs). There are several good options available. We recommend you download and install on your own computers one (or more) of the following, depending on your platform: (Feel free to experiment with these and others!)
    • Windows users: one of the following—the functionality is similar:
      • SSH Secure Shell Client (this one is the most ad-free experience)
      • WinSCP (This is the one Greg and I "grew up" using over the years)
      • or FileZilla (a great tool, but be wary of accepting its bundled ad offers as you install!)
    • Mac users:
    • Linux users: You probably don't need to install anything, but look at how your system handles secure file transfer (SFTP). (FileZilla or other clients designed for Linux environments.)

Digital Humanities / Studies: Course Description

Our course in "digital humanities" and "digital studies" is designed to be interdisciplinary and practical, with an emphasis on learning through "hands-on" experience. It is a computer course, but not a course in which you learn programming for the sake of learning a programming language. It's a course that will involve programming, and working with coding languages, and "putting things online," but it's not a course designed to make you, in fifteen weeks, a professional website designer. Instead, this is a course in which we prioritize what we can investigate in the Humanities and related Social Sciences fields about cultural, historical, and literary research questions through applications in computer coding and programming, which you will be learning and applying as you go in order to make new discoveries and transform cultural objects—what we call "texts" in their complex and multiple dimensions. We think of "texts" as the transmittable, sharable forms of human creativity (mainly through language), and we interface with a particular text in multiple ways through print and electronic "documents." When we refer to a "document," we mean a specific instance of a text, and much of our work will be in experimenting with the structures of texts in digital document formats, accessing them through scripts we write in computer code—scripts that in themselves are a kind of text, readable both by humans and machines.

Your professors are scholars and teachers of humanities, not computer programmers by trade, and we teach this course from our backgrounds (in literature and anthropology, respectively). We teach this course to share coding methods that are highly useful to us in our fields, with an emphasis on working with texts as artifacts of human culture shaped primarily with words and letters—the forms of "written" language transferable to many media (including image and sound) that we can study with computer modelling tools that we design for ourselves based on the questions we ask. We work with computers in this course as precision instruments that help us to read and process great quantities of information, and that lead us to make significant connections, ask new kinds of questions, and build models and interfaces to change our reading and thinking experience as people curious about human history, culture, and creativity.

Our focus in this course is primarily analytical: to apply computer technologies to represent and investigate cultural materials. As we design projects together, you will gain practical experience in editing and you will certainly fine-tune your precision in writing and thinking. We will be working primarily with eXtensible Markup Language (XML) because it is a powerful tool for modelling texts that we can adapt creatively to our interests and questions. XML represents a standard in adaptability and human-readability in digital code, and it works together with related technologies with which you will gain working experience: You'll learn how to write XPath expressions: a formal language for searching and extracting information from XML code which serves as the basis for transforming XML into many publishable forms, using XSLT and XQuery. You'll learn to write XSLT: a programming "stylesheet" transforming language designed to convert XML to publishable formats, as well as XQuery, a query (or search) language for extracting information from XML files bundled collectively. You will learn how to design your own systematic coding methods to work on projects, and how to write your own rules in schema languages (like Schematron and Relax-NG) to keep your projects organized and prevent errors. You'll gain experience with an international XML language called TEI (after the Text Encoding Initiative) which serves as the international standard for coding digital archives of cultural materials. Since one of the best and most widely accessible ways to publish XML is on the worldwide web, you'll gain working experience with HTML code (a markup language that is a kind of XML) and styling HTML with Cascading Stylesheets (CSS). We will do all of this with an eye to your understanding how coding works—and no longer relying without question on expensive commercial software as the "only" available solution, because such software is usually not designed with our research questions in mind.

We think you'll gain enough experience at least to become a little dangerous, and at the very least more independent as investigators and makers who wield computers as fit instruments for your own tasks. Your success will require patience, dedication, and regular communication and interaction with us, working through assignments on a daily basis. Your success will NOT require perfection, but rather your regular efforts throughout the course, your documenting of problems when your coding doesn't yield the results you want. Homework exercises are a back-and-forth, intensive dialogue between you and your instructors, and we plan to spend a great deal of time with you individually over these as we work together. Our guiding principle in developing assignments and working with you is that the best way for you to learn and succeed is through regular practice as you hone your skills. Our goal is not to make you expert programmers (as we are far from that ourselves)! Rather, we want you to learn how to manipulate coding technologies for your own purposes, how to track down answers to questions, how to think your way algorithmically through problems and find good solutions.

Learning Objectives:

  • Work with Texts as Artifacts—As Physical and Virtual Objects:
    • Generate "digital surrogates": digitally represent facsimiles of rare manuscripts and other kinds of documents, and make their content digitally searchable.
    • Reflect and write on the issues and problems with digital representation, as well as the capacity of the digital medium to enhance or add dimensions to a physical text.
    • Learn and practice coding in eXtensible Markup Language (XML) and related coding technologies: to "mark up," process, and extract information about the structure, physical condition, and cultural contexts of textual artifacts.
  • Gain Experience with Information Retrieval, "Distant Reading," and Autotagging Techniques:
    • Write code to apply searching and data extraction methods through multiple kinds of pattern-matching algorithms, including forms of regular expression matching. Take conventional boolean searches and library database searches to new levels.
    • Apply "mining" and "drilling" methods associated with "distant reading" to apply computers to read and design more and differently than we could do "manually" or with unassisted eyes and brains.
    • Learn how to "autotag" enormous texts or collections of texts, for practical results: to code the structure of enormous texts from a distance, in order to navigate them and make them accessible through distant reading.
    • Reflect on and test the strong and weak points of "distant reading" and processing methods: (What do we learn, and what is at stake in current applications of digital "distant reading"?)
  • Gain Project Design and Editing Experience:
    • Gain digital editing experience with proposing, designing, and contributing to one or more digital research projects, applying coding to the preserving, sharing, and investigating of textual resources
    • Transform XML code into publishable web formats, to build or contribute to a project website.
    • Design navigation elements, and build visual aids and models (such as timelines and tree diagrams) from texts: to generate charts and images from extracted data
    • Gain experience with plotting digital maps and charts, working with historical maps, layered maps, and Google Earth
  • Last but not least: Discover that you read and write with "new eyes," with greater precision and agility, thanks to your adventures in working with digital texts!

Optional Texts (Helpful Reference Guides):

  • Michael Kay, XSLT 2.0 and XPath 2.0: Programmer's Reference, 4th edition(Wiley Publishing, 2008) ISBN-13: 978-0-470-19274-0 This is really THE authoritative word on XSLT and XPath, written by a designer of the official W3C specifications of XSLT 2.0 that we're using. We are learning from this book ourselves and consult it frequently! We're not requiring that you buy it, but we recommend it to have a powerful reference at your fingertips and for learning more on your own. There's a kindle edition available but poorly designed for searching, so we (actually) prefer the hardcover print edition. If you're going to purchase it, be sure you pick up the current edition (not the earlier ones).
  • The Web Design Pocket Guide Boxed Set (includes 3 books: The HTML Pocket Guide, The JavaScript Pocket Guide, and The CSS Pocket Guide) Authors: Bruce Hyslop, Lenny Burdette, and Chris Casciano(Pearson / Peachpit Pocket Guides, 2010). ISBN-13: 978-0321743749 You can probably locate much of the content of these books online, on sites like w3schools.com (which we use ourselves), but we've discovered that sometimes it's handy to have print reference guides around when working on computer projects!


Homework Exercises (35%):

Regular homework exercises are key to the active learning process in this course. Each day will involve some small assignment, building to the larger course projects. Students must complete (on time) at least 90% of each homework component (coding assignments, short response papers, blog postings and responses, in order to pass the course. For students who complete the 90% requirement, the homework taken all together, is worth 35% of your course grade.

Coding assignments: These are assignments you'll complete by writing code to achieve a specified result by applying a coding method you are learning. Often, there will be multiple ways of accomplishing the task. You will receive lots of feedback from us, in the form of posted results and individual commentary on your assignments as needed. If you don't achieve the result you want, you may still receive full credit so long as you have made a serious attempt to describe your process, what else you tried, what results you expected vs. what results you got, and what you think went wrong. Documenting problems is key to the learning process, and sometimes the documentation process helps lead you to the solution and always helps your learning process.

Response papers: We'll assign short response papers (about 1 to 2 pages) to online readings or as evaluations of significant digital humanities web projects and resources. Your response should do more than summarize the article or site (which you could just do by skimming or reading the first paragraph), but should demonstrate a thoughtful reflection on specific ideas and issues. When evaluating a web resource, don't simply praise or condemn it without going into details about why a key component is effective or poorly designed. Good response papers demonstrate care and reflection, and you may choose to respond to the overarching ideas of a piece, or to selected details of specific interest.

Project postings: These will begin on our discussion board after you have formed teams to work on the course project. As you work on course projects in teams, we expect that each team (not each individual student) will post a project update, usually by Friday of a given week. These postings should be brief status reports about your project work: what you've accomplished in the preceding week, what problems you're facing, what you've been learning, resources you've been discussing, and should conclude by discussing what you plan to do the following week.

Project responses: Again, these begin after you have formed project teams. Each student (not each team this time) must post one response to a blog posting by some other team, usually due on a Monday (or the class period following the team project posts). These responses can be brief but for credit (and to be useful) they need to be thoughtful: something more than "good work!" or "very interesting!" Respond to something specific in teh blog: make a suggestion, offer a critique, ask or answer a question, discuss how something in the blog post gave you an idea for your project, share a resource you've found that may be helpful for the others.

Participation: In Class and on the Discussion Board (15%):

Coding and programming in real life is a social activity, and professionals in the real world aren't "know-it-all" experts who work alone, but rather are tuned into discussion boards and regularly ask and answer questions to stay sharp and to learn from their community. In this class, we want you to work together and talk to each other and your instructors as your community resource, so we have built this into our course participation grade as a formal expectation. Beginning by week two, we'll expect each student to post at least once per week on our online class discussion board, and we strongly encourage you to do more than this minimum. Ask questions, make suggestions, share helpful resources you've found. Help each other out by trying to answer questions (and read the instructor posts too as we wade in to help). Your instructors will likely be dominating the class time as we model concepts and methods, so the discussion boards give you all a good space to form into a coding community to help each other and reflect together. Also, if you have a question about an assignment, always think of the discussion board as your first resource to check for helpful hints and to post your questions, because others may have the same question and answers are best shared! Of course you may e-mail us, but we really prefer you go the discussion board first, and doing so is, after all, worth course credit as your participation grade.

Quizzes and Tests (15%):

As scheduled throughout the course there will be several (probably about six to eight) short quizzes and tests that will take roughly half of the class period time. These will ask you to demonstrate your knowledge of coding practices and vocabulary learned in an immediately preceding portion of the course. We will drop your lowest two scores on these exams. (No make-up exams are given: see course policies below.)

Project (35%):

Within the first three weeks of the course, we will familiarize you with some of our ongoing projects and their associated research questions. These include the Digital Archives and Pacific Cultures Site, the Digital Mitford Archive, and a site presenting manuscript variants in Emily Dickinson's Fascicle 16. We will also assign you to propose a project based on a text or set of texts that interest you and suggest a promising research question to explore with our coding methods, and we'll respond to these to help you refine your ideas. We'll ask you all to read each other's refined proposals, and the class as a whole (working with the instructors) will select which of these we want to pursue through the term, and form groups to begin work. Development of the project will involve doing a careful document analysis, developing a coding plan and rules to follow, coding your text(s), and developing programs to address your research question. It will also involve designing a project site to represent your research questions, the texts and your processing of them, as well as to share your coding scripts and to reflect on the results of your investigation. We will post milestones you must meet for the projects throughout the term. Project teams must meet 90% of the project milestone due dates in order to receive a passing grade. It is expected that project teams meet regularly (each week), check in with the instructors, and delegate tasks to each other. Reporting on project progress is required as part of the regular homework assignments for the course. Teams are encouraged to meet with us instructors during (or outside) our scheduled office hours. In the last few weeks of the course, almost all of your course work outside class will be devoted to project development, applying the methods you've been learning across the semester.

Grading Scale:

Grades are posted on Courseweb, and follow this standard scale: A: 93-100%, A-: 90-92%, B+: 87-89%, B: 83-86%, B-: 80-82%, C+: 77-79%, C: 73-76%, C-: 70-72%, D+: 67-69%, D: 60-66%, F: 59% and below. In taking the course on a S / NC (pass-fail) basis, students must earn a C to receive Satisfactory credit. We give G grades (incomplete) at our discretion and only in conformity with the guidelines in the Pitt-Greensburg Bulletin: http://www.bulletins.pitt.edu/greensburg/upg-academicpolicies.htm#Anchor-Grading-9431.

Course Policies:

Each day we are covering material that builds on earlier material and assignments, so your success depends upon regular attendance and completing each assignment on time.


We strictly require your attendance, as it is not only a setback to yourself but to the entire class and the success of our projects if students are repeatedly absent. Students must attend at least 90% of our class meetings in order to pass the course. Late arrival—particularly a pattern of repeated late arrivals—may be counted as absences at our discretion. Attendance will be recorded for every class, and each student can earn percentage points added towards their total course grade based on the following scale: Zero or one absence: +3 pts; Two absences: +2 pts; Three or more: +0 pts. To earn credit, you must be present in the classroom by the beginning of class, until class is dismissed. For your own sanity, do not miss two consecutive classes. If you are experiencing a genuine emergency or crisis, alert us and provide documentation. (We do not want you to attend class if you have a fever or flu-like symptoms! If you wish to be excused from two or more consecutive class meetings due to your own documented illness, please contact one of the following: the Office of the Vice President for Academic Affairs, Prof. Wes Jamison (724-836-9988 or jamison at pitt.edu), our Campus Health Center (Nurse Patty or Pamela Reed, 724-836-9947 or upgdoc at pitt.edu), or the Director of Counseling, Gayle Pamerleau (gaylep at pitt.edu), who can then officially alert all of your professors.


Your daily homework for this course is time-sensitive! Coding assignments, response papers, and other homework exercises must be uploaded to CourseWeb (or to Box, or the Sandbox server as specified), by the date and time indicated by the instructors. Homework assignments will be posted online to our class DHDS website and linked from our schedule, so students who miss class are nevertheless expected to consult the schedule and submit assignments on time. Because we post and share answers to homework exercises after submission deadlines, we will not accept late homework submissions. In order to pass the course, students must submit at least 90% of the regular homework assignments, and complete at least 90% of the work in each component of the course.

Exam Policy:

Similarly, because we will be posting answers or sharing them in class, we do not give make-up examinations. However, we will drop your lowest two exam scores for the class, so that you may miss up to two exams without penalty.

Classroom Courtesy:

Our class is fast paced, and requires that we all be making the best use we can of our in-person class sessions. Arriving late and leaving early disrupts the important collective mental activity of class. So does in-class texting and checking your cell phone. While class is in progress, talking disruptively, leaving the classroom, texting or using a cell phone or computer, reading a newspaper, or other distracting behavior will be actively discouraged, and may result in a deduction in your Participation grade. Please respect what we do in the classroom: attend class regularly, and come prepared to contribute your questions and ideas.


Each student is issued a University email address (username@pitt.edu) upon admission. This email address may be used by the University for official communication with students. Students are expected to read email sent to this account on a regular basis. Failure to read and react to University communications in a timely manner does not absolve the student from knowing and complying with the content of the communications. The University provides an email forwarding service that allows students to read their email via other service providers (e.g., Hotmail, AOL, Yahoo). Students who choose to forward their email from their pitt.edu address to another address do so at their own risk. If email is lost as a result of forwarding, it does not absolve the student from responding to official communications sent to their University email address. To forward email sent to your University account, go to http://accounts.pitt.edu, log into your account, click on Edit Forwarding Addresses, and follow the instructions on the page. Be sure to log out of your account when you have finished. (For the full Email Communication Policy, go to http://www.bc.pitt.edu/policies/policy/09/09-10-01.html.)

Academic Integrity

Source Citation and Plagiarism: One goal of our course is to reflect on how best to cite sources in digital contexts. We will consider how and why such citations differ from documenting printed texts. We will also consider the ease and frequency with which digital texts and graphics are plagiarized on the worldwide web, and discuss how the omission of source citations detracts from the authority of a digital information resource. We expect you to practice mindful source citation, and plagiarism on your part will have very serious consequences.

Plagiarism falsely represents another source’s words or ideas as your own, and, if you commit plagiarism in this course, you will receive a final course grade of F and be reported to the Vice President of Academic Affairs. Representing the voice of another individual as your own voice constitutes plagiarism, however generous that person may be in “helping” you with an assignment. Turning in an assignment generated collectively under the name of a single individual is considered plagiarism. When instructed to collaborate on a project, project collaborators share collective authorship and should identify themselves directly as a team. To avoid plagiarism, cite your sources whenever you quote, paraphrase, or summarize material, or use digital images from any outside source (including websites, articles, books, course readings, Courseweb postings, or someone else’s notes). When using the “copy” and “paste” features as you read and research, be sure that you are carefully marking that these passages are unprocessed from their source, so that you know to process it later. Forgetting to do so not only produces sloppy work but (whether you intended it or not) results in a false representation. As long as you make a good faith and clear effort to cite your sources, you will not be faulted for plagiarism, but your work will be penalized if citations are inaccurate, unclear, or lack important information. Cheating on exams or exercises will also receive a final course grade of F and will be reported to the Vice President of Academic Affairs.

Disability Services:

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and the Director of the Learning Resources Center, Dr. Lou Ann Sears, Room 240 Millstein Library Building (724) 836-7098 (voice) or los3 at pitt.edu as early as possible in the term. Learning Resources Center will verify your disability and determine reasonable accommodations for this course.


We gratefully acknowledge David Birnbaum's Digital Humanities course as our starting point and resource for much of our development. Other useful resources include:

Projects and Sites That Inspire Us