Spring 2020: Classes meet M W F 2 - 2:50 PM in 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/> 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 Canvas.
- 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, 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.
- 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: CDV.html Home of our syllabus and schedule.
- DHClass-Hub: https://github.com/ebeshero/DHClass-Hub Class GitHub Repository and Issues Board
- Canvas: https://canvas.pitt.edu To submit homework assignments and exams and read private course announcements
- How to Construct Filenames for Canvas Homework Submissions
- Server access instructions for web project development on newtFire: [to be announced on Canvas]
Week 1 | In Class | Due Next Time |
---|---|---|
M 1-06 |
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. Write your first XML with recipes: |
|
W 1-08 |
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 1-10 |
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 1-13 |
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, 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.)
Read Intro to Relax NG. |
W 1-15 |
Schema Languages: Writing the Rules. Writing Relax NG |
|
F 1-17Add/Drop period ends. |
Relax NG: mixed content, data types. Quick tour of course projects with strong research questions developed by coding students at two Pitt campuses in the past few years. |
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. Work with attributes, datatypes, and mixed content in your schema. DHClass-Hub Discussion of UX and Project Research Questions for Pitt-Greensburg and Pitt-Oakland student projects
|
Week 3 | In Class | Due Next Time |
---|---|---|
M 1-20 |
Dr. Martin Luther King’s birthday observance: No classes. |
Continue (and conclude) GitHub Practice (see M 1-14 assignment above). |
W 1-22 |
Test 1 (in class: 15-20 minutes): XML markup. Course projects, further discussion. Relax-NG issues. Collect info for personal and project webspace on newtFire. |
|
F 1-24 |
Review Relax NG issues. Coding for analysis: discussion of XML modeling for research questions. Network Analysis and Mapping with XML: Discussion of XML projects designed to explore networks: Tarantino, Banksy, Akira, Hamilton, Thalaba. |
|
Week 4 | In Class | Due Next Time |
---|---|---|
M 1-27 |
Form project teams. Review bad graphs discussion. Ambitious graphs: See A Tour Through the Visualization Zoo. Review Relax-NG: common issues in homeworks. |
|
W 1-29 |
Project discussion / initiation time in class. Review of Relax NG issues, initiation of first take-home test (Relax NG). |
|
F 1-31 |
Readme and other Markdown Files for your project GitHub Introducing up-conversion with Regular Expressions:
|
|
Week 5 | In Class | Due Next Time |
---|---|---|
M 2-03 |
Regular Expressions: thinking algorithmically. Greedy Matching. |
|
W 2-05 |
Regular Expressions: thinking algorithmically. Selecting for what’s not there. Simplifying overcomplicated expressions. XML and the Web: Introduce HTML and CSS. SFTP into the Apache Server for newtFire. File directories and their association with web URLs. |
|
F 2-07 |
Building on the Web: HTML and CSS. Introduction to your web space on NewtFire and the index.html page Hands-on: SFTP to NewtFire, association with GitHub. Mindful file directory management: File directories and their association with web URLs. |
|
Week 6 | In Class | Due Next Time |
---|---|---|
M 2-10 |
HTML and CSS
|
|
W 2-12 |
HTML and CSS continued: Positioning and controlling layouts with HTML div, section, span, and CSS flex. Troubleshooting Server Side Includes Review Regex issues in preparation for take-home test. |
|
F 2-14 |
Project meeting time in class; completion of Project Checkpoint 3. Review and take stock of technologies learned so far. Preview of what's next: XPath. Initiate Regular Expressions Take-Home Exam |
|
Week 7 | In Class | Due Next Time |
---|---|---|
M 2-17 |
HTML5: Semantic web elements for accessible websites. Introducing XPath and the XPath window in <oXygen/>: functions, axes, path steps /, and predicate filters [ ]. Hands-on: Understand XML as |
|
W 2-19 |
Using XPath axes to climb trees: child:: and descendant::, parent:: and ancestor::, preceding-sibling:: and following-sibling::, preceding:: and following::. The self:: axis, and when we need to refer to it in predicate expressions: [./node]. (Grouping) and [Position()]. |
|
F 2-21 |
XPath Functions: some common functions we use and how to write them: count(), not(), distinct-values(). Preview functions with regular expressions in XPath. |
|
Week 8 | In Class | Due Next Time |
---|---|---|
M 2-24 |
Surgical precision with XPath on text strings: regular expressions in XPath functions |
XPath Exercise 4 |
W 2-26 |
Introducing XQuery and the eXist-db on newtFire Writing XPath in eXist-db XPath String functions. XPath for the text() node to grab strings: string-join(), contains(string 1, string 2). Hands on: learning to write XQuery: collections and documents, queries and FLWORs |
|
F 2-28 |
|
Week 9 | In Class | Due Next Time |
---|---|---|
M 3-02 |
|
|
W 3-04 |
XQuery from eXist to Web: Extracting from the XML database to publish in the Web Project Network Analysis: Network graphs and structured data XQuery to Network Analysis: generating plain text data (CSV or TSV) for Cytoscape What we do in Cytoscape: Processing and Filtering; Running the Network Analyzer. Common network statistics: degree centrality, node centrality, edge betweenness, shortest paths |
|
F 3-06Withdrawal deadline. |
|
|
Week 10 | In Class | Due Next Time |
---|---|---|
Sat. 3-07 - Sat. 03-14 |
Spring Break: No classes. | Project Midterm Sprint |
Week 11 | In Class | Due Next Time |
---|---|---|
M 3-16 |
Zoom meeting: Regrouping DH class in time of Covid-19 pandemic. Discussion: XQuery to Network Analysis: Survey issues and outputs. Preview Schematron: Cleaning up project code with help from XPath |
|
W 3-18 |
Zoom class: XQuery to Network Analysis: Survey issues and outputs. Altering and styling network graphs. |
|
F 3-20 |
Zoom class: writing an XPath-based Schema language: Schematron, why you need it now, and how we use it with Relax-NG |
|
Week 12 | In Class | Due Next Time |
---|---|---|
M 3-23 |
Zoom class: Digital Mapping: Writing XQuery to extract place data for mapping in QGIS |
QGIS Exercise 1: XQuery to TSV for import to QGIS, and creating a map from project data. |
W 3-25 |
Zoom class: Working in QGIS: Hands-on Orientation |
QGIS Exercise 2: Map your data using QGIS |
F 3-27 |
Zoom class: Web-mapping from QGIS working with Leaflet |
QGIS Exercise 3: Prepare a web map with Leaflet and post on your website. |
Week 13 | In Class | Due Next Time |
---|---|---|
M 3-30 |
Zoom class: XML that makes graphics: SVG (Scalable Vector Graphics). Drawing elements, and screen grid coordinates. |
|
W 4-01 |
Zoom class: XQuery to SVG: Pulling data for visualizing. Plotting a timeline from project data: Part 1: Exploring the project data and doing “date arithmetic”. |
|
F 4-03 |
Zoom class: Work together to plot an SVG timeline from our date-arithmetic work on the Rocket Launches project. Making line and bar graphs, plotting axes. How to plot stacked bars. |
SVG Exercise: Project XQuery to SVG: Plot a clear, simple, legible, labelled graph. |
Week 14 | In Class | Due Next Time |
---|---|---|
M 4-06 |
Zoom class: Example: Putting the pieces together: SVG and HTML. Introducing JavaScript, the DOM, JavaScript event listeners and functions. |
JavaScript Exercise 1 |
W 4-08 |
|
JavaScript Exercise 2 |
F 4-10 |
Zoom class: JavaScript? or More SVG/Visualization |
Project Development, prepare presentation material. |
Week 15 | In Class | Due Next Time |
---|---|---|
M 4-13 |
Zoom class: Projects and Portfolios: Guidelines for Submission. Creative Commons Licenses |
Web development for Project Checkpoint 5 |
W 4-15 |
Zoom class: prep for Project Checkpoint 5: Project presentations | |
F 4-17 |
Zoom class: Last day of classes. Project presentations . |
Thurs. 4/23 by 11:59 PM |
Projects due. Submit projects with a post to the instructors from your project GitHub repo. |