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:44:49.303-05:00

Course Description and Policies

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

Week 1

In Class

Due Next Time

M 08-25

Welcome! Intro to the course,and Intro to XML and working in <oXygen/>: Write your first XML.

XML Exercise 1: Read our intro guide to XML. And read: File-Naming Conventions for Courseweb Homework Submissions (courtesy of Obdurodon). Choose the text of one letter from one of the following websites, and copy its text into <oXygen/>. Then, mark it up in XML, using your own system of tagging, as seems appropriate, to code the structure and the content of the document. Save and name your document according to the File-Naming Conventions (which hold for all coding homework in this course), and upload to Courseweb! Options:

W 08-27

Discussion of homework, and XML: Validity and Well-formedness. XML projects in digital humanities. Introduce Emily Dickinson's Fascicle 16 project.

Response paper: Read Gabrielle Kirilloff, "<Traversing_the_Tree/>" and submit a short response paper: What perspective does Kirilloff provide on the kinds of XML markup we are learning, the history and context of hierarchical markup, and its potential issues?

XML exercise 2: Mark up a text of your choice (any genre; manageable but reasonable size; foreign languages welcome). Work on attributes with your elements!

F 08-29

Discussion of Kirilloff's site/essay; projects with hierarchical markup: potentials and challenges. Examples in editing Emily Dickinson: three sites:

Response paper on My Immortal site. Identify the key research question(s) here: How did the project team address them and what kinds of results were they able to deliver? How effective were they in communicating their findings—and telling us something interesting about the phenomenon of trolls/trolling?

XML exercise 3: Review our feedback on your coding exercises so far and submit revisions if we asked you to. Then, mark up yet another new text of your choice (once again, any genre; manageable but reasonable size; foreign languages welcome) in XML.

Week 2

In Class

Due Next Time

M 09-01

Labor Day Holiday: No classes.

W 09-03

Document Analysis: Kubla Khan. Local Digital Humanities Projects at Pitt-Greensburg: Digital Mitford, Digital Pacific, Emily Dickinson. The concept of "UX."

Response Paper: Choose one of the following major Digital Humanities projects to explore, and write a response paper addressing 1) how effective the site is for working with centuries-old texts, and 2) the effectiveness of the user experience ("UX").

Read Intro to Relax NG.

F 09-05

[drop-add period ends]

Test 1: XML, markup.

Schema Languages: Writing the Rules. Writing Relax NG

Relax NG exercise 1: Write a Relax NG schema for one of the XML documents you created for an earlier assignment (XML exercise 1, 2, or 3)

Test Posts to our Sandbox Discussion Board: Think about your own project ideas, as well as our local Greensburg projects (Emily Dickinson, Digital Mitford, Digital Pacific) in progress so far: (text(s), approach, research question to explore, teams). Begin drafting/posting project ideas: your very own ideas with your own texts OR ideas for what to do with / build upon our Greensburg projects underway. (Short proposals due to Discussion Board next week).

Week 3

In Class

Due Next Time

M 09-08

Relax NG and Document Analysis.

Relax NG exercise 2: This time, choose a small text (maybe one of the letters from the first assignment that you didn't mark up before, or anything you like), perform document analysis, write a schema, and mark up the text according to the schema.

Response Paper: Choose one of the following Greensburg project sites under development. Describe (in your own words) at least one significant topic it seems to be exploring, and reflect on what we might want to try next to improve the "UX," and/or develop the research areas of the project.

  • From our Digital Mitford Project: Letters Introduction. First review the bottom section: "Digitizing a Mitford Letter: Photofacsimile, Transcription Markup, and Versioning Markup": What does the side-by-side view show us and what might we be able to learn from it? Comment on the reading views of the letters: What kind of research is involved here/ what kinds of questions have we been investigating to generate our views of these letters? What (besides coding some thousands more letters) could we try to build from our markup?
  • Digital Archives and Pacific Cultures Site: This is a complicated site, so you may want to choose just one aspect of it (voyage narratives, mapping, graphs and charts of cultural responses, reading interface, etc.) to address. This project site represents the origins of our Pitt-Greensburg digital humanities projects—it was our starting point and first collaboration with students. What do you think we should do with it next?
  • Emily Dickinson. This site was cobbled together rapidly last spring to share with students in my Pre-20th-century American Lit class, to complement what they were reading in the course anthology of Dickinson's poems. It was also repurposed from an older site whose JavaScript stopped functioning. Note: a fascicle is a bundle of poems, and at least one of the poems here is a variant version from another Fascicle not represented here. What might we do to change the site's representation of each poem? And what might we be able to study about Dickinson's poetry by developing our markup?

W 09-10

Projects Designed by students: Russian Rap project and Divergences in Machine Translation: Examining Harry Potter texts processed by Google Translate across multiple language families

Descriptive markup and non-textual features: Manuscripts and Physical Objects. The Papers of George Washington project: Visualizations page. Introducing the Text Encoding Initiative (TEI).

Relax NG exercise 3: Choose a small text of a different type or genre than last time, perform document analysis, write a schema, and mark up the text according to the schema.

Discussion Board Post: Project Proposals: Post a tentative/exploratory project proposal (at least 2 paragraphs): Identify the text(s) to research, describe your approach, research question, roles of participants. All projects must be by teams of two or three persons, but this initial, exploratory proposal is an individual assignment.

F 09-12

Describing "Things," and Working with (and from) Manuscripts. Critical Apparatus Tagging (Versioning Markup). TEI for Manuscripts.

Discussion Board: Read everyone else’s project proposals and be prepared on Monday to form project teams.

Response Paper: Read and browse through examples in either Chapter 11 or Chapter 12 of the TEI Guidelines. Comment on what you're learning from this about how markup can be used to describe particular features of "texts" as well as the "document" forms they take.

Read our Introduction to XHTML (and HTML).

Week 4

In Class

Due Next Time

M 09-15

Form Project teams!

Start discussing XML and the Web: HTML and CSS

Read our Introduction to XHTML (and HTML), and our Introduction to Cascading Stylesheets (CSS). Experiment with writing a simple HTML page and styling some elements with CSS

HTML/CSS Exercise 1: Create and upload your first HTML web page to your space on the Greensburg Sandbox (design and attach CSS to your HTML file)

W 09-17

The Web: HTML, XHTML, HTML5....and CSS

Read Learn CSS Layout, and consult w3 Schools CSS Reference as you code. (Also, check out w3schools color mixer:

HTML/CSS Exercise 2: Expand and Develop your first HTML web page to your space on the Greensburg Sandbox (design and attach CSS to your HTML file: think about page layouts / structure.

Discussion Board Project Weekly Posts: Starting here!

  1. Each project team must post at least one project update per week to our Discussion Board (at least one posting per team, not per person, although more are welcome) before Friday’s class each week.
  2. Each person must post at least one thoughtful response per week to another team’s weekly blog posting (comment, question, observation, suggestion, etc.) by the following Monday’s class.
  3. Each person must make at least one thoughtful contribution to another discussion thread before Monday’s class each week.

F 09-19

Test 2: Relax NG

More on the Web. Namespaces. What happens on the server side. Perspective on Database servers, JavaScript / PHP: How XML code structure matters for web transforms and delivery: Why we need to navigate XML with XPath. Introducing XPath: Paths, Axes.

First, carefully read our Introduction to XPath: "Follow the XPath!" As you read, try experimenting with the XPath expressions on our page, by downloading the explainXPath.html file, opening it in oXygen, and experimenting in the XPath window with some of our expressions. Then, try your hand at Xpath Exercise 1.

XPath Exercise 1

Week 5

In Class

Due Next Time

M 09-22

Using XPath to climb trees—up and down and side to side. Predicate expressions: [ ]. (Grouping) and [Position()]. XPath syntax: some tricks.

XPath Exercise 2

Response Paper: "UX" review of a project: What functions well, and what's not to like in the structure, organization, design of the site? Think about the kind of analysis being done on the texts—the research questions, results, and conclusions drawn: Can you identify something that could use more explanation, or a clearer/more efficient way to display something? Or, what do find appealing and strikingly good here? Choose one of the following options:

Begin reading The Xpath Functions We Use Most (which you'll want to consult on XPath Exercise 3).

W 09-24

XPath Functions: some common functions we use and how to write them: count(), not(), distinct-values(). XPath for the text() node—grabbing strings: string-join(), contains(string 1, string 2).

Read (and consult) The Xpath Functions We Use Most

XPath Exercise 3: experimenting with functions

Discussion Board: Weekly Project Posting (project teams: focus on document analysis and schema design)

F 09-26

Work on XPath. Introduce Regular Expressions—in context of XPath, and as an alternate way to navigate documents.

XPath Exercise 4: Manipulating Strings. (Don't worry if you can't get the optional challenging questions at the end of this exercise. You need the Michael Kay book to figure out the very last one.)

Weekly Discussion Board Responses: project + another thread.

Read our Intro to Regular Expressions and start looking at the Regular Expressions Quick Start in prep for next class.

Week 6

In Class

Due Next Time

M 09-29

Regular Expressions: for Searching and Autotagging. Repurposing / Ripping / Transforming. Using Find & Replace in <oXygen/>.

Read / Consult our Intro to Regular Expressions and the Regular Expressions Quick Start as you work on the exercise:

Regex Exercise 1

W 10-01

More on Regular Expressions. Inside-out or Outside-in?

Review of XPath and Vocabulary!

Regex Exercise 2

Discussion Board Weekly Project Posts

F 10-03

Test 3: XPath and Vocabulary

Introduce XSLT.

Regex Exercise 3

To prepare for our next unit on XSLT, read Michael Kay’s Chapter 1 and focus on pages 3-7, “A Simple XSLT Stylesheet”: pp. 10-12, “How it Works”: pp. 17-18, and “Example: Displaying a Poem,” pp. 35-38 (to review a sample XSLT stylesheet). We provide a link to an online pdf of Chapter 1 here for those who do not have the physical book, XSLT 2.0 and XPath 2.0., 4th edition, our optional text. This is the only chapter that Kay and the publishers have made available on the web.

Weekly Discussion Board Responses: project + another thread.

Week 7

In Class

Due Next Time

M 10-06

Introducing XSLT (eXtensible Stylesheet Language Transformations). XSL Transformations from XML to XML, and from XML to HTML

Where we use XPath, and where we *don't* use XPath in XSLT.

Read our Intro to XSLT.

XSLT Exercise 1

W 10-08

XSLT: XPath and XPath patterns. Working algorithmically.

XSLT Exercise 2

Discussion Board Weekly Project Posts

In prep for next class, read about:

F 10-10

XSLT: How it works. Push and Pull. Attribute Value Templates

(Consult XSLT Attribute Value Templates as you work on the coding exercise.)

XSLT Exercise 3

Weekly Discussion Board Responses: project + another thread.

In prep for next class, read about Modal XSLT.

Week 8

In Class

Due Next Time

M 10-13

Fall Break: Monday classes meet on Tuesday this week.

T 10-14

Test 4: Regex

Modal XSLT.

(Consult Modal XSLT page.)

XSLT Exercise 4

W 10-15


XSLT Exercise 5

Discussion Board Weekly Project Posts

Apply headers to your project files!

F 10-17

Metadata: What is it, and how we code it. Headers in TEI. (Look at Headers in the Digital Mitford Project and/or Codebook.)

XSLT. Coding (and Extracting) Metadata

XSLT Exercise 6: working with your own project files, or the Digital Mitford Site Index, or other files linked from the assignment.

Weekly Discussion Board Responses: project + another thread.

Week 9

In Class

Due Next Time

M 10-20

Distant Reading Methods: Network Analysis (Thalaba project.) Extracting data to process as raw text in statistical / graphical processing programs like "R" and "Cytoscape."

Discussion Board: "Data Viz" Thread Assignment: Could you use network analysis in your project? What kinds of relationships might you try plotting? Or, what other kinds of charts, maps, and graphical visualizations would you like to try making from your XML? Link out to interesting examples you might want to try. Discuss and respond to each other with ideas. (For example, here's a useful series of tutorials on adding Google Maps to your site, with information on KML, a form of XML for mapping applications that we are using in the Pacific project.)

W 10-22

XML that makes graphics: SVG (Scalable Vector Graphics). Drawing elements, and screen grid coordinates.

SVG Exercise 1

Discussion Board Weekly Project Posts: Teams should think about their use of SVG!

F 10-24

SVG from XSLT.

Elisa is presenting at the TEI Conference

SVG Exercise 2 (plotting SVG with XSLT)

Response Paper: Read Mining the Dispatch and study its graphs: write a short response reflecting on the methods of topic modelling and distant reading and what they yielded for this project.

Weekly Discussion Board Responses: project + another thread.

Week 10

In Class

Due Next Time

M 10-27

SVG to XSLT: Walk-through of homework.

SVG Exercise 3 (Elections Graph)

Elisa's sample Elections output (a vertically stacked bar chart, as an example of one of the optional bonus layouts).

W 10-29

Test 5: XSLT (rescheduled)

SVG Exercise 4 Options:

  • If you did not produce good output for SVG Exercise 3, work on revising it and do one of the Bonus Options (such as stacking the bars for multiple parties) for the Elections Bar Graph assignment. Be sure to visit our Discussion Board topic on SVG Exercise 3 for some guidance if you've not seen it already. Submit your new XSLT at the SVG Exercise 4 upload point on Courseweb.
  • If you already did one of the bonus options or are otherwise satisfied with your bar graph output for the Elections exercise, work on writing XSLT to generate an SVG plot of something interesting either from your project or from the Digital Mitford's Site Index file.

Read Michael Kay's XQuery Tutorial, and our intro to XQuery and the eXist XML Database

Discussion Board Weekly Project Posts

F 10-31

Introducing XQuery and eXist, the XML database

Work with our intro to XQuery and the eXist XML Database and Michael Kay's XQuery Tutorial as you orient yourself to XQuery and the eXist database environment on the first XQuery exercise.

XQuery Exercise 1

Response Paper: Read A Tour Through the Visualization Zoo: Which of these visualizations is especially interesting and potentially applicable to your project?

Weekly Discussion Board Responses: project + another thread.

Week 11

In Class

Due Next Time

M 11-03

XQuery: Writing FLWOR statements and outputting HTML

XQuery Exercise 2

W 11-05

XQuery Element Constructors: Outputting new XML, SVG, HTML... or KML! Nesting FLWORS: when and why

Our KML Google Earth output: Digital Archives and Pacific Cultures: Maps

XQuery Exercise 3 Mapping to KML!

Discussion Board Weekly Project Posts

F 11-07

Test 6: SVG

XQuery and your projects: Generating .csv or .tsv files for processing in network analyses, other packages (Let's take stock of where we are / what you want to make for projects).

Read Schematron Tutorial

XQuery Exercise 4

Weekly Discussion Board Responses: project + another thread.

Week 12

In Class

Due Next Time

M 11-10

XQuery: Nested FLWOR statements and layered output

XQuery Exercise 5: Part 1

W 11-12


XQuery Data Extraction for Visualizations: Graphing and Networks

XQuery Exercise 5: Part 2

Discussion Board Weekly Project Posts

F 11-14

XQuery in <oXygen/>; generating network data for Cytoscape

Read Obdurodon's Introduction to Javascript Project Web Development, XQuery Exercise 5 Rebooted

Weekly Discussion Board Responses: project + another thread.

Week 13

In Class

Due Next Time

M 11-17

Working with network data in Cytoscape: generating and modifying network graphs

Read Obdurodon's Introduction to Javascript

Javascript Exercise 1:

W 11-19


Discussion Board Weekly Project Posts

Read Oburodon's JavaScript Piece By Piece tutorial

Read Elisa's Obdurodon tutorial, JavaScript Toggling with classList and switch

Javascript Exercise 2

F 11-21

XQuery Test

Project Design: Putting it all together; Reviewing Results

Weekly Discussion Board Responses: project + another thread.

Week 14

In Class

Due Next Time

M 11-24

Last Test: related to Project Development

Work with Course Project Guidelines; Choose a Creative Commons License

Set Presentation Schedule of Projects

Prepare for Presentations

W 11-26 to F 11-28

Thanksgiving Recess: No Classes.

Week 15

In Class

Due Next Time

M 12-01

Project Presentations

Project Development: Review Project Guidelines

W 12-03

Project Presentations

Project Development

F 12-05 (Last Day of Classes)

Project Presentations

Project Development

Thurs. 12-11, 11:59 PM

Projects due in the Digital Sandox; with e-mails to instructors pointing to the project site and assessing the input of each team member. See Project Guidelines.