NewtFire logo: a mosaic rendering of a firebelly newt
newtFire {dh|ds}
Maintained by: Elisa E. Beshero-Bondar (ebb8 at Creative Commons License Read the course description and syllabus in TEI XML. Last modified: Sunday, 06-Aug-2017 18:15:07 EDT. Powered by firebellies.

Spring 2017: Classes meet M W F 10:30 - 11:20 AM, 136 McKenna Hall

Jump Down to the Schedule

All the Tools You Need As We Begin:

Download and install the following software on your own personal computer(s) on or before the first day of class. These software tools are available in our campus computing labs, too.

  1. All students: <oXygen/> XML Editor. 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 FTP clients—the functionality is similar:
      • SSH Secure Shell Client (this one is the most ad-free experience)
      • WinSCP An alternative to SSH with a few more bells and whistles (This is one we used for a long time, since the 1990s, but we now use SSH and Filezilla more frequently.)
      • 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.)
  3. Read the Course Description and this Syllabus page to see how this course works on a day-to-day basis.
  4. This course fulfills general education requirements in Q2, NS, SS, and HM, and it fulfills a core requirement for the Digital Studies Certificate at Pitt-Greensburg. Think about where this course might fit in your academic career, and how you might apply the skills you learn here.
  5. No coding experience? Don’t worry! You are in very good company. We don’t expect any of you to have written a line of computer code before now. Past students in this course who never saw anything like markup or XML code have designed projects (like these) and even spoken about them at an undergraduate conference! You’ll help continue some of these projects we’ve started, and you’ll learn to build and create digital tools for yourself with skills we hope you will keep developing.
The Webs Where We Work: Explanatory Guides and Exercises: Complete List
Week 1 In Class Due Next Time

W 01-04

Welcome! Intro to the course, and Intro to XML and working in <oXygen/>: Write your first XML. Mindful File Management (how to name, store, share, and submit files in this course). Setting up accounts for web server and for GitHub. Gazpacho Soup

F 01-06

Getting started with GitHub and our DHClass-Hub. Discussion of the XML recipe homework: XML Comments, Validity, and Well-formedness, and how to work with <oXygen/>. Web Accounts: collect info.

Week 2 In Class Due Next Time

M 01-09

Discussion of homework, and XML: Validity and Well-formedness. XML projects in digital humanities. Introduce the Digital Mitford Project and Emily Dickinson’s Fascicle 16 and other student projects from this class.

Working with our DHClass-Hub: Opening and closing Issues, writing markdown and joining in discussions (via Issues), accessing our class examples of code, pulling and pushing files in Troubleshooting directory.

W 01-11

Overlapping hierarchies. Document Analysis and Coding: Group Exercise with Kubla Khan

The concept of “UX.” or User Experience, and discussion of projects.

UX Discussion on DHClass-Hub Choose one of the following digital archives to explore, find the appropriate discussion thread on the DHClass-Hub, and write a post discussing: 1) how visual aids are used to convey information on the site, and how well (or badly) do these work? What seems unclear to you, and/or what seems to work really well? 2) how effective is the (“UX”) in navigating at least one or two significant areas of the site? (Respond to each other as the thread develops.)

Review XML syntax for test. Read Intro to Relax NG.

F 01-13

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 2 or 3), and upload it an your XML file to Courseweb.

Week 3 In Class Due Next Time

M 01-16

Martin Luther King’s Birthday: No classes.


W 01-18

drop-add period ends

Relax NG: mixed content, data types. Course projects: discussion and tour. Developed by coding students at Pitt-Greensburg in the past year:

Pittsburgh campus projects with interesting visualizations:

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

F 01-20

Course projects, further discussion. Network graphs: introduction.

  • 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.
  • GitHub Discussion: Network Analysis Read my blog on an XML-based network analysis project I am working on: Spectacular intersections of place in Southey’s Thalaba the Destroyer and take part in a DHClass-Hub Discussion to reflect on the network analysis represented here and how it works, what patterns it might be revealing, and what questions or ideas it raises for you regarding digital methods to analyze texts.
  • DHClass-Hub Post and Discussion on Project Proposals:
    • Beginning this weekend, through next Wed. 1/25: Post proposal ideas for team projects to work on this semester. Each student should post an idea for the class to consider: a project involving XML markup to be managed within a team of 2-4 students to investigate something we could study and visualize from our markup more effectively with computers than with human reading and description alone. All projects must involve a team of at least two persons, but this first exploratory proposal is an individual assignment.
    • Each of you must respond to at least one of the proposed ideas from another student and indicate suggestions or further ideas. You may respond to more than one if you like, and indicate which proposals interest you to work on.
    • Proposal discussions will run through next week, until class time on Friday 1/29 when we will form project teams.
Week 4 In Class Due Next Time

M 01-23

Network Analysis and Mapping with XML: Discussion of Thalaba project and applications of networks.

W 01-25

Graphing, Visualizations, Validity. See A Tour Through the Visualization Zoo.

Review of Relax-NG

Form project teams (today or F 1/27)

If time, introduce regular expression matching (Regex)

Review our comments on your Relax NG homeworks and practice writing Relax NG in preparation for test.

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

Discussion Board posts and responses on project project proposals

F 01-27

Test 2: Relax NG

Up-Conversion with Regular Expressions: Using Find & Replace in <oXygen/> (class exercise)

Week 5 In Class Due Next Time

M 01-30

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

W 02-01

Regular Expressions: thinking algorithmically. Selecting for what’s not there, complicated patterns

XML and the Web: Introduce HTML and CSS. SFTP into the Apache Server for newtFire. File directories and their association with web URLs.

F 02-03

HTML and CSS, SFTP vs. GitHub. Mindful file directory management.

Week 6 In Class Due Next Time

M 02-06

The CSS Box Model, positioning, and controlling layout. What are namespaces and why do they matter? Namespaces and the web. Web browsers and display variations. Server Side vs. Client Side. Server Side Includes (SSIs) and setting permissions for them to work.

XML Prague
  • Read Learn CSS Layout, and consult w3 Schools CSS Reference as you code. (Also, check out Paletton to help think about choosing balanced color schemes. Experiment with writing CSS to control font, layout, color, backgrounds.
  • HTML/CSS Exercise 2 (As with HTML Exercise 1, submit this homework by using FTP to post to our newtFire web server, and do not follow standard homework naming conventions.

W 02-08

Review for Regular Expressions Exam.

How XML code structure matters for web transforms and delivery: Why we need to navigate XML with XPath. Introducing XPath: Paths, Axes.

XML Prague
  • 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, move on to Xpath Exercise 1.
  • XPath Exercise 1
  • Review for Regular Expressions exam.

F 02-10

Regular Expressions Exam.

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

XML Prague
Week 7 In Class Due Next Time

M 02-13

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

Using Regular Expressions in XPath.

W 02-15

More on XPath String functions.

Applying XPath.

F 02-17

writing an XPath-based Schema language: Schematron, and how we use it with Relax-NG

Examples of Schematron in our projects

Week 8 In Class Due Next Time

M 02-20

W 02-22

Introducing XSLT and XQuery: how we use each.

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

The Weirdness that is XSL Template Matching: Where we use XPath, and where we use pseudo-XPath patterns in XSLT.

Identity Transformations

F 02-24

XPath Exam

XSLT to HTML: How it works: the template rule for the document node, and succeeding template rules.

What happens with xsl:apply-templates, xsl:value-of, and Attribute Value Templates.

Week 9 In Class Due Next Time

M 02-27

Review of template matching and processing XML.

"Push" vs. "Pull" processing, and how to write XSLT to output HTML that doesn't follow the structure of the input XML. XSLT Conditions: xsl:if and xsl:choose. Processing TEI with xpath-default-namespace.

W 03-01

Introducing XQuery and eXist, the XML database.

Learning to write XQuery: collections and documents, queries and FLWORs

XQuery online and offline: in eXist and in <oXygen/>

F 03-03

XQuery: Writing FLWOR statements and outputting HTML

Week 10 In Class Due Next Time

M 03-06 — F 03-10

Spring Break: No Classes


Week 11 In Class Due Next Time

M 03-13

GIS and KML (Keyhole Markup Language for mapping). XQuery to KML Placemarks.

Saving output in the eXist database

XQuery Exercise 3 (XQuery + XSLT to KML)

W 03-15

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

Introduce with w3Schools SVG Tutorial.

Project Discussion: Working with project XML files in eXist-db

F 03-17

XQuery to SVG: Pulling data for visualizing.

Choosing visualization formats: Timelines

Week 12 In Class Due Next Time

M 03-20

Review of SVG timeline assignment.

Project files in eXist

SVG Exercise 3 (Part 2 of the Timeline)

W 03-22

(XSLT or XQuery) to SVG: Making line and bar graphs, plotting axes.

SVG Exercise 4 XQuery to SVG: (Stacked Bar Graph for the Graveyard Project)

F 03-24

XQuery to Network Analysis: generating plain text data for Cytoscape

Week 13 In Class Due Next Time

M 03-27

XQuery to Network Analysis: Processing and Filtering; Running the Network Analyzer. Common Network stats: degree centrality, node centrality, edge betweenness, shortest paths

XQuery from eXist to Web: Building the Database into the Web Project

Complete XQuery to Network Analysis: Exercise, Part 1

W 03-29

XQuery to Network Analysis: Extracting TSV data from XML. Importing to Cytoscape and running the Network Analyzer.

Sigma Tau Delta Conference

XQuery to Network Analysis: Exercise, Part 2

F 03-31

Project Data Viz Work Session

Sigma Tau Delta Conference
Week 14 In Class Due Next Time

M 04-03

How JavaScript works (client side), and how to write it. Review Server Side Includes, vs. Client Side processing.

Server Side Includes and JavaScript Exercise 1

W 04-05

More JavaScript! Writing JavaScript functions.

F 04-07

  • JavaScript with SVG for Dynamic Activity on an Image
  • JavaScript, SVG, and CSS with your HTML: putting it all together.
  • Testing your website code with the w3c Validator

JavaScript Exercise 3 (CDV): JavaScript with SVG

Week 15 In Class Due Next Time

M 04-10

Projects and Portfolios. Creative Commons Licenses

Web Development: Projects

W 04-12

Web Development: Projects

Project Development

F 04-14

Project presentations: with our sibling course at Oakland campus

Web Development: Projects

GitHub Issues: (For everyone but the project presenters for today): Post a review, as detailed as possible for a project team other than your own

Project Development

Week 16 In Class Due Next Time

M 04-17

Web Development: Projects

Project Design Work

W 04-19

Web Development: Projects

F 04-21

Web Development: Projects

Project development.

Thurs. 4/27 by 11:59 PM

Projects due.