Autumn 2019: Classes meet M W F 3 - 3:50 PM, 136 McKenna Hall.
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.
- 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.
- 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:
- FileZilla (This is our favorite client because it behaves the same way across platforms.)
- WinSCP (This is one we used for a long time, since the 1990s, but we now use SSH and Filezilla more frequently.)
- SSH Secure Shell Client
-
Mac users:
- FileZilla (This is our favorite client because it behaves the same way across platforms.)
- or Fetch (students may obtain free licenses at http://fetchsoftworks.com/fetch/free)
- 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.)
-
Windows users: one of the following FTP clients—the functionality is
similar:
- Read the Course Description and this Syllabus page to see how this course works on a day-to-day basis.
- This course fulfills general education requirements in Q2, 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.
- 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.
- Course Home Website: CDA.html Home of our syllabus and schedule.
- DHClass-Hub: https://github.com/ebeshero/DHClass-Hub Class GitHub Repository and Issues Board
- CourseWeb: https://courseweb.pitt.edu To submit homework assignments and exams and read private course announcements
- File Conventions for CourseWeb Assignments
- Server Access Instructions for Web Project Development on newtFire: [To Be Announced]
Week 1 | In Class | Due Next Time |
---|---|---|
M 08-26 |
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. Bread recipe |
|
W 08-28 |
Getting started with GitHub and our DHClass-Hub. Discussion of the XML recipe homework: XML Comments and Well-formedness, and how to work with <oXygen/>. Introduce student projects from this class. |
|
F 08-30 |
Discussion of homework, and XML: Well-formedness vs. Validity. XML projects in digital humanities. Hands-on GitHub: Working with our DHClass-Hub: Open and close Issues, write markdown in Issues "help tickets" and discussions, access our class examples of code. Command line: pull and push files in Troubleshooting directory. |
|
Week 2 | In Class | Due Next Time |
---|---|---|
M 09-02 |
Labor Day Holiday: No classes. | |
W 09-04 |
Overlapping hierarchies. Document Analysis and Coding: Group Exercise with Ozymandias The concept of “UX.” or User Experience, and discussion of projects. |
GitHub Practice (starting today for seven days): Make sure your personal repo is properly set up and cloned to your local computer. Using your Git Bash Shell, practice some basic Git commands to build a habit: Always pull before you push! Then push one file per day either to your personal repo or the DHClass-Hub. On alternating days, push to the other repo (if you pushed to your personal repo today, tomorrow you will push to the DHClass-Hub). Try cloning repos on multiple computers that you may be using through the semester (including computer lab machines on campus). Pull up our quick guide Using Git Through Command Line for a ready reference of commands and look up details in our Guide to Git Shell. UX Discussion on DHClass-Hub Choose one of the following digital archives to explore, and write a post on the DHClass-Hub addressing 1) something interesting the site is inviting us to explore about centuries-old texts, and 2) the effectiveness of the user experience (“UX”).
Read Intro to Relax NG. |
F 09-06 |
Hands-on introduction to schemas with Relax NG: How to write the rules for an XML project |
|
Week 3 | In Class | Due Next Time |
---|---|---|
M 09-09 |
Relax NG: mixed content, data types. Review and discussion of XML rules, Relax NG and modeling XML |
|
W 09-11 |
Test 1 (in class: 15-20 minutes): XML markup. Course projects: Introduction, discussion and tour: digital projects with strong research questions by Pitt students in recent years: |
|
F 09-13 |
Building on the Web: Introducing HTML and CSS: Make a simple index.html page. Make a simple CSS page. CSS resemblance and difference from Relax NG (those curly braces) What is "index.html" to a web server? Website addresses and file directories on a remote web server Hands-on: Work with FileZilla (or other SFTP client) to connect to the Apache Server for newtFire. SSH keys. File directories and their association with web URLs. How to customize SFTP (Filezilla) to work with your GitHub repo. |
|
Week 4 | In Class | Due Next Time |
---|---|---|
M 09-16 |
HTML and CSS
|
|
W 09-18 |
Form project teams! Review Relax NG issues in preparation for test HTML and CSS continued: Image editing, more on flexboxes and page layouts. |
|
F 09-20 |
Project customizations and boilerplate with Server Side Includes
|
Work on your HTML and website development over the weekend if you did not finish the HTML exercises. |
Week 5 | In Class | Due Next Time |
---|---|---|
M 09-23 |
Review of tech so far. File dependencies (XML and Relax NG; HTML and CSS). Sharing over the web (GitHub, SFTP with SSH keys) Project web directories on NewtFire Document Analysis of Manuscripts: Hands-on Workshop Project schemas and community schemas: controlled markup vocabularies. Introduction to the The Text Encoding Initiative (TEI)Text Encoding Initiative (TEI) |
|
W 09-25 |
Review Relax NG for take-home test. Document Analysis and TEI Exercise continued: review code developed so far. Data and metadata in the TEI document model: exploring the TEI Header |
|
F 09-27 |
|
|
Week 6 | In Class | Due Next Time |
---|---|---|
M 09-30 |
|
|
W 10-02 |
Readme and other Markdown Files for your project GitHub Introducing up-conversion with Regular Expressions:
|
Preview Regex Exercise 1: Shakespeare’s Sonnets. Consult our Intro to Regular Expressions and the Regular Expressions Quick Start as you work on the regex exercises. |
F 10-04 |
Regular Expressions: thinking algorithmically. Greedy Matching. Start / finish(?) Regex Exercise 1 together in class |
|
Week 7 | In Class | Due Next Time |
---|---|---|
M 10-07 |
|
|
W 10-09 |
|
Start Test 3 (take-home): Regular Expressions |
F 10-11 |
Hands-on Project Team work together in class on Project Checkpoint 3 |
|
Week 8 | In Class | Due Next Time |
---|---|---|
M 10-14 |
Navigating XML with XPath: Introducing the XPath window in <oXygen/>, functions, axes, path steps /, and predicate filters [ ]. Hands-on: navigating Hamlet. |
|
W 10-16 |
Using XPath to climb trees—up and down and side to side. Predicate expressions: [ ]. (Grouping) and [Position()]. XPath syntax: some tricks. |
|
F 10-18 |
XPath Functions: some common functions we use and how to write them: count(), not(), distinct-values(). Preview string functions. How to combine functions: when to use simple map vs. the arrow operator. How to put functions in a predicate filter to return XML nodes that have qualities that you test for with functions. |
XPath Exercise 3: experimenting with functions |
Week 9 | In Class | Due Next Time |
---|---|---|
M 10-21 |
Work on XPath and manipulating text strings. Using Regular Expressions in XPath. Preview Schematron if time. |
|
W 10-23 |
writing an XPath-based Schema language: Schematron, and how we use it with Relax-NG How we use Schematron in project management. |
Consult our Guide to Schema Writing with Schematron as you complete Schematron Exercise 1. |
F 10-25 |
More applications of Schematron to your ongoing project. Schemas to work with Personographies, Placeographies, Prosopographies (Relax NG, ODD with Relax NG, Schematron: Keeping track of xml:ids with Schematron). |
|
Week 10 | In Class | Due Next Time |
---|---|---|
M 10-28 |
|
|
W 10-30 |
XSLT to HTML: How it works. |
|
F 11-01 |
XPath and XPath Patterns. XPath review: axes, functions, and predicates in prep for XPath test. Using XPath functions to make counts and do calculations for charts and graphs. | Test 4 (take-home): XPath |
Week 11 | In Class | Due Next Time |
---|---|---|
M 11-04 |
XSLT: What template rules are doing. Push and Pull processing. Attribute value templates (review). XSLT to HTML Table transformation in class. |
|
W 11-06 |
XSLT templates, push processing, and preparing/styling HTML for editions. Putting it all together with CSS. |
|
F 11-08 |
How Modal XSLT works. Processing collections of files |
XSLT Exercise 5 (due before next W 11/13). Consult Modal XSLT page as you work on the coding exercise. |
Week 12 | In Class | Due Next Time |
---|---|---|
M 11-11 |
(Dr. B is away at a digital project consultation meeting in Texas.) Semester Project workday: Review Project Guidelines Work on developing HTML, CSS, and XSLT for projects. Also work on recording project documentation and decisions in markdown on your GitHub repo (GitHub issues and Readmes). |
Finish XSLT Exercise 5. Consult Modal XSLT page as you work on the coding exercise. |
W 11-13 |
Sorting with XSLT HTML with internal links: how it works and how to create internal links with XSLT |
XSLT Exercise 6 |
F 11-15 |
Writing XSLT for your projects. Review of metadata and TEI, and using XSLT to extract metadata: Example: Digital Mitford letter. Checking your HTML with the w3c Markup Validation Service. |
XSLT Exercise 7 (also part of Project Checkpoint 5).
Project Checkpoint 5:
|
Week 13 | In Class | Due Next Time |
---|---|---|
M 11-18 |
|
|
W 11-20 |
SVG from XSLT, working with variables to plot coordinate space |
SVG Exercise 2: XSLT to SVG to make a graph |
F 11-22 |
User experience (UX): Setting SVG in a webpage and providing explanation. Project applications of SVG. Introducing JavaScript and |
|
Week 14 | In Class | Due Next Time |
---|---|---|
M 11-25 to F 11-29 |
Thanksgiving Recess: no classes | Work on project websites, SVG, JavaScript Exercise 1. |
Week 15 | In Class | Due Next Time |
---|---|---|
M 12-02 |
Introduction to JavaScript, and writing and associating JavaScript files with HTML. Working with variables and for loops in JavaScript. Coordinating JavaScript with CSS on project HTML. |
Start by doing Javascript Exercise 1 (due by W 12/04). As soon as you are ready, choose one of the JavaScript Exercise 2 options (due by F 12/06): |
W 12-04 |
Putting it all together: JavaScript with CSS to interact with SVG; project needs for SVG and JavaScript. Review of creative commons licensing, project guidelines. Work on Project Checkpoint 6: preparing material for project presentations, final project code sprint. |
Project development. Complete JavaScript homework exercises (and apply to projects): |
F 12-06 |
Project coding consultation and development, review of project guidelines. |
|
Mon. 12/09: 10:45am - 12:45pm |
Team presentations in our classroom (McKenna 136) during our Final Exam session. Teams present their projects to the class, invite comments and feedback. Classmates (from other teams) continue to ask questions, offer commentary on project GitHub repos: commentary due by the end of the day. |
Thurs. 12/12 by 11:59pm |
Projects due. Submit projects with a post to the instructors from your project GitHub repo. |