NewtFire logo: a mosaic rendering of a firebelly newt
newtFire {dh}
Maintained by: Elisa E. Beshero-Bondar (eeb4 at psu.edu) Creative Commons License Last modified: Sunday, 20-Aug-2023 00:58:49 UTC. Powered by firebellies.

Fall 2022 Syllabus (Schedule)

Read the Course Description

The Course Description page contains a detailed explanation of course policies and the basis for grades.

Jump Down to the Schedule

The button jumps to the closest day to today's date. Review the schedule as we get started to get a sense of how this course will work on a daily basis.

Tools and Resources

Download and install the following software on your own personal computer(s) as we start the course. These software tools are also available in our campus computing labs.

  1. <oXygen/>. The DIGIT program has purchased a site license for this software, which is installed in Kochel 77 and the Lilley Library computers. 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 Canvas.
  2. Zoom: Make sure your Zoom installation is up-to-date, and you are ready to connect. (We will use Zoom when we need it for office/project meetings.)
  3. Slack: https://slack.com/help/articles/218080037-Getting-started-for-new-members). Download and install the Slack chat client, configuring your account to use use your Penn State email address (the official address, which looks like xyz123@psu.edu, and not an alias based on your name that you may have set up), so you can join our Slack workspace: DIGIT-coders. When you receive an invitation to join this workspace you should accept.
Resources for class:

Schedule

This schedule is subject to revision. Stay alert for updates and announcements of significant changes posted on Canvas.

Week 1Class topicsDo before class

M 08-22

Welcome! Introduction to the course. Intro to XML and "plain" text in the oXygen XML Editor. Introduce XML Exercise 1 (due Wed. 8/24): getting started with oXygen and coding your first XML. Respond to Dr. B’s Poll (see Canvas / Penn State email).

W 08-24

Review and discuss coding of the letter for XML Exercise 1. Elements, attributes, comments, escape characters, and "pretty-printing" in <oXygen/>. How file systems recognize XML documents (File extension, and XML declaration line). Introduce XML Exercise 2.
  • Install oXygen XML Editor and add our license key if you have not done so already.
  • Read my Introduction to XML, open a new XML file in oXygen, and experiment with the code in the tutorial: Can you tell what makes markup well-formed or not?
  • Complete XML Exercise 1

F 08-26

Discussion of Pierazzo introduction of XML. Discussion of homework, XML data and metadata. Document sources. Coding attributes and self-closing elements. Example with Map of Early Modern London Project Introduce XML Exercise 3
Week 2Class topicsDo before class

M 08-29

Discussion of XML homework. How to work with distinct identifiers: @xml:id attributes and pointer attributes (#): Prosopography lists. Self-closing elements. Complete XML Exercise 3

W 08-31

Discussion of The Ballad of Booker T.: Multiple ways to encode a poem and manuscript information. Overlapping hierarchies XML Exercise 4: Mark up The Ballad of Booker T.

F 09-02

  • Introduce class GitHub and how we will interact with it. Students join the class textEncoding-Hub. Intro to GitHub markdown.Markup vs. markdown. Explore GitHub markdown for writing issues, including code-blocks. Command line hands-on navigation, and introduction to git commands: Clone the textEncoding-Hub to your local computer.
  • Introduce discussion assignment on Emily Dickinson projects and reading interfaces for encoded documents: textEncoding-Hub.
Week 3Class topicsDo before class

M 09-05

Labor Day Holiday: No classes. ...

W 09-07

  • GitHub file management: pulling, adding, committing, and pushing to your repo. Talk about / demonstrate GitHub profile configuration
  • Join the DIGIT-Coders Slack!
  • Emily Dickinson Discussion on GitHub: using markdown.

F 09-09

  • Seven Days of Git/GitHub. Always git pull before you start work in a shared repo!
  • Prepare for XML Test 1: Pre-Test Class Exercise:
    1. git pull from textEncoding-Hub.
    2. Open oXygen XML Editor. Open a file from textEncoding-Hub > Class-Examples > xmlPreTest
    3. Open the file inside: ozyMeta.xml in oXygen. (If trouble with git pull, copy and paste the file into a new XML document from here.)
    4. IMPORTANT! Save this file OUTSIDE of our textEncoding-Hub, so you don't save over my Class Examples as you are working. Save to your personal repo or to your Desktop or elsewhere on your computer!
    5. Work in oXygen on finding and correcting errors that break XML form. With each error, document your correction: write an XML comment explaining what you did to correct the problem.
    6. Keep making corrections until XML is well formed (and oXygen is green). Do your best! This is like the exam you will be taking next week.
Week 4Class topicsDo before class

M 09-12

[Dr. B is in England for the TEI Conference: Class via Zoom]
  • Review of XML Pre-Test, historical perspective on XML, SGML, HTML, and markup languages.
  • Look ahead at Relax NG unit
  • Issue Take-Home Test 1.
  • Complete XML PreTest Homework: Push the corrected and documented file to your personal GitHub repo and post the URL to your commit to Canvas for this assignment.
  • Complete discussion posts on Emily Dickinson comparison exercise.

W 09-14

[Dr. B is in England for the TEI Conference: Class via Zoom] Validity for a project: what is a schema? How to write a Relax NG schema
  • Work on Take-Home XML Test

F 09-16

[Dr. B is in England for the TEI Conference: Class via Zoom]

Writing schemas: technical details and big picture issues. Introducing datatypes. The interesting tag soup of mixed content.

Complete Take-Home Test 1 and submit on Canvas by 11:59pm tonight.
Week 5Class topicsDo before class

M 09-19

Troubleshooting and debugging Relax NG issues.
  • You may find it helpful to watch my video on Relax NG and how to write it in oXygen and the recording of our last class video. as you work on Relax NG Exercise 1:
    • Make a folder to hold this homework, since it will contain two files. Save the folder using our homework filenaming conventions.
    • Open this file containing a fresh encoding of Good Morning (open the link, and right-click to save on your computer with your homework, then open in oXygen).
    • Open a new Relax-NG Compact syntax file in oXygen, and set your editor in tile view so you can see the goodMorning.xml file next to your schema file. Delete the code in the Relax NG file so you have a blank slate to start with.
    • Write a Relax NG Schema in Compact Syntax that models the content of this XML file as you study it. (Save the schema in the same directory with your XML file so you can easily find it.)
    • Associate the schema with the XML file (in oXygen go to Document > Schema > Associate Schema, and browse to locate the schema. Click OK and note the new schema line at the top of your XML file.
    • Zip (compress) the file directory holding your XML file and the Relax NG schema file, and submit this on Canvas at the upload point for this assignment.
    Review XML syntax and consult the Intro to Relax NG as you work on this, and ask for help on the DIGIT-Coders Slack if you get stuck. Submit this exercise before class on Canvas, and we will review this together in class.

W 09-21

Debugging Relax NG Relax NG Exercise 2: Select an XML homework assignment you completed. Inspect your encoding (and review my comments if available). Then determine how you might want to change it to make it more systematic and efficient. Your code should feature attributes and apply datatypes, and mixed content. Write Relax NG and modify your XML so that it is valid against your schema plan.

F 09-23

Relax NG review, and discussion of crowdsourcing exercise.
  • Repair any broken Relax NG syntax and/or XML validation issues on previous homework submissions.
  • Relax NG Exercise 3: Choose a new document (any genre, any language, manageable size for homework, interesting to model): Try writing a schema first, and then coding to fit the schema. (Edit both the XML structure and the Relax NG rules as you go.)
Week 6Class topicsDo before class

M 09-26

Review of major concepts about XML and document data modeling. Relax NG, datatypes for time and durationPre-Test on textEncoding-Hub. (Please do not push your files to the textEncoding-Hub but save them somewhere else on your computer, like your personal GitHub or where you do homework.)

W 09-28

XML Datatypes:
  • Working with xsd:ID, xsd:IDREF, and xsd:IDREFs
  • Connecting the class to DIGIT-Coders Slack:
    • How to ask good questions and get help!
    • Slack practice with code blocks / markdown
  • Dates, times, numbers and datatypes: Looking Stuff Up
  • Debugging workshop
  • Relax NG Exercise 4: exploring more datatypes
  • Repair any broken Relax NG syntax and/or XML validation issues on previous homework submissions.

F 09-30

Discussion / comparison of class TEI encoding. TEI Header and metadata.
Week 7Class topicsDo before class

M 10-03

Jane Ingold gives us a tour of the Behrend Archives at Lilley Library: Meet at the main (top floor) entrance to Lilley Library. Preview of primary sources and Behrend-focused semester project options TEI Exercise 1: Analyzing Documents with TEI

W 10-05

  • Issue Take-Home Test 2: Relax NG
  • TEI for coding context information.
  • Modeling TEI content and metadata: working with the teiHeader
  • Introduce Semester Project Options and Sign-up
  • Before class: complete TEI Exercise 2: Revising, developing, exploring the TEI.

F 10-07

Schemas for the TEI with One-Document-Does-It-All (ODD): selecting elements, constraining attribute values. complete TEI Exercise 3:
  • Read about and work with the TEI Header chapter in the TEI Guidelines: Take a close look at the:
  • Suggestion: Read about and work with the handDesc and handNote elements in the TEI header, and try to apply the @hand attribute in your code.
Week 8Class topicsDo before class

M 10-10

Introduce TEI customization with ODD. Working with images and text on text encoding projects.

W 10-12

Form Project Teams! Setting up new team project GitHub repos

F 10-14

Photographing and processing images for the project. Image file formats for web projects. HEIC images (from iPhones): Conversion to jpeg
Week 9Class topicsDo before class

M 10-17

How does HTML relate to TEI and XML? HTML and file management. Introduce HTML Exercise 1 for GitHub Pages in your GitHub repo.
  • Read introduction to HTML and review GitHub and git at command line
  • Project Milestone 1:
    • Team leaders: create GitHub repo for your team and invite your teammates and Dr. B (as @ebeshero) to your repo
    • Establish a time and means for regular weekly meetings within your project groups. Set up a Slack channel for your project in the DIGIT-Coders Slack and invite your teammates and Dr. B

W 10-19

Creating links, associations: absolute vs. relative. Building web pages in your GitHub repo.

F 10-21

[Dr. B is away guest-speaking at Pitt. Class via Zoom] Take stock of website issues, look ahead at HTML development from XML. Introduce XPath: Set XPath 3.1 in oXygen XML Editor.
Week 10Class topicsDo before class

M 10-24

Querying XML with XPath. Working with XPath arithmetic operations, searching for nodes on axes, and setting predicates.
  • Read our Introduction to XPath.
  • Start working on XPath exercise 1
  • Project Milestone 2:
    • Set up docs/ directory and start GitHub Pages from the project repo. Someone on the team posts a splash page for the project site.
    • Decide in project teams (if necessary) which documents you are working with, and how you will divide them up among you. Survey your documents and determine what they are about, what makes them interesting. What kinds of information can you be making available by building a digital archive of this material? Write this up for this milestone and work together to try to represent this on the website.
    • If working with the Behrend Library archive materials, make a start on photographing images for the project.
      • Create a space in the project GitHub repo for photos of the documents you are working with.
      • Come up with a good system for naming the files (no spaces in the names).
  • Finish/revise incomplete HTML exercises if necessary and continue tinkering with HTML and CSS on your GitHub Pages site.

W 10-26

  • XPath Predicates as boolean filters (using and, or and the not() function)
  • Revisiting XML markup decisions, based on what XPath can show.

F 10-28

Discuss/review semester project milestones. Review XPath Exercise 2 together. XPath math: min, max(), sum().
  • Complete XPath Exercise 2
  • Work on markup and a schema for your semester project, and push updated files to your repo.
Week 11Class topicsDo before class

M 10-31

Introducing XPath string functions:
  • Handling only one node at a time: contains(), matches(), translate(), replace(), string-length(). Cutting a string in parts: tokenize(); taking substring-before() or substring-after()
  • Bundling up a sequences of strings: string-join()
  • XPath resubmissions: If you have not done so already, review your submissions for XPath 1 and 2 against posted solutions and add comments and alternative XPath expressions for anything you missed. Alternative XPath expressions would be: think of a different, related node or piece of information to look for in the XPath, and try looking for that based on what you learn from the posted solution.

W 11-02

  • Review XPath Exercise 3.
  • Project code review. (Why a good project schema mattes for building a project.)
  • Complete XPath Exercise 3 (String functions)
  • Semester Project Milestone:
    • Teams make progress on organizing GitHub repos, modeling documents and images in XML.
    • Discuss and decide on use of the TEI or Relax NG.
    • Each team member prepares some XML for the project, perhaps to propose a model for the documents you are working with.

F 11-04

Introducing XSLT (eXtensible Stylesheets Language Transformations). XML to XML, XML to HTML. Namespaces. Setting up oXygen to write XSLT and saving as .xsl. Writing your first XSLT stylesheet transformation. Read Introduction to XSLT, and watch one (or both) of the following orientation videos on how to set up oXygen to write XSLT:
Week 12Class topicsDo before class

M 11-07

How XSLT template matches work. XSLT to create HTML, trimming the tree.

W 11-09

XSLT to HTML: Making an HTML reading view for semester projects. XSLT Exercise 2

F 11-11

Review XSLT and next project milestone. Writing good code documentation in your GitHub repo.
  • For XSLT-to-HTML review, watch Dr. B's video Writing XSLT to Process (TEI) XML and Output HTML. Review your first two XSLT submissions and make corrections. Resubmit these with your comments/questions in the Canvas submission points for XSLT Ex 1 and 2.
  • Semester Project Milestone 2
Week 13Class topicsDo before class

M 11-14

  • Putting the pieces together: Workshopping XSLT, HTML, CSS.
  • Modal XSLT: processing the same nodes in multiple ways.
XSLT Exercise 3

W 11-16

Using sort() to sort your output. Internal links on an HTML page, from XSLT. XSLT Exercise 4: Modal XSLT over a Collection

F 11-18

  • Review / discuss XSLT over collection: linking and sorting. Introduce Creative Commons. Pulling and highlighting interesting data for project sites. Planning how to style your output; looking stuff up.
  • Issue XPath/XSLT Take-Home Test
XSLT Exercise 5: adding internal links, sorting, and styling the collection output with CSS
Week 14: Thanksgiving

Sun 11-20 - Sat 11-26

Thanksgiving Holiday Have a peaceful and productive week!
Week 15Class topicsDo before class

M 11-28

XSLT, HTML, CSS for displaying images and text Work on XSLT test and Project Milestone 5

W 11-30

Preparing the reading view with images and text. Navigating the site. Styling considerations
  • Exercise: XSLT/HTML/CSS with Images (combined with Milestone 4)
  • Project Milestone 4 due by the end of the day

F 12-02

XPath/XSLT Take-Home Test due
Week 16Class topicsDo before class

M 12-05

CSS Flex and Grid for Reading View Layouts:

W 12-07

Project documentation

F 12-09

DIGIT Works Project presentations run from 11am - 1pm. Students from multiple classes present semester projects. Prepare to share and discuss your project work with the class / DIGIT Works.
Finals Week (12/12 - 12/16) Due

H 12-15

Semester projects due by 11:59pm.

Finish developing projects, and send a post to me on GitHub and Canvas to indicate your team is finished.