Teaching materials for the course "Computational Background Skills for Digital Humanities" as taught at the University of Vienna.
Instructor: Tara L. Andrews
Office hours: Monday 3–4pm (please appoint in advance)
Attendance: Attendance is mandatory in all class sessions! Students may miss no more than half of one session.
Course evaluation: The purpose of this course is to help you gain skills you will need for more advanced digital work, whether in the humanities or in any other field where you find yourself handling any sort of structured data. Since everyone has a different starting point, evaluation will be based primarily on how well you have demonstrated that you have tried to learn the material. Students will gain points for asking questions as well as answering them, and will lose points if they are found to be stuck and didn't ask for help.
Modalities: This course will be held exclusively online, via Zoom, for SS 2021. Units are subject to re-scheduling as necessary to accommodate student progress or needs.
The schedule here is given in terms of blocks; the correspondence between blocks and times is given below.
Block | 2 March | 4 March | 9 March | 11 March | 16 March | 18 March |
---|---|---|---|---|---|---|
1 | Intro and Setup | Regular Expressions | Command line 3 | How the Internet works | Git | Command line 4 |
B | Lunch break | Coffee break | Lunch break | Coffee break | Lunch break | Coffee break |
2 | Command line 1: Mac and Windows | Regular expressions continued | Files and encodings | Web technologies 1 | Putting it all together 1 | Putting it all together 2 |
B | Coffee break | Coffee break | Coffee break | Coffee break | Coffee break | Coffee break |
3 | Command line 2 | Review / Practicing Error-speak | Review / Practicing Error-speak | Web technologies 2 | Pre-programming | More DH and wrap-up |
Block | 2, 9, 16 March | 4, 18 March | 11 March |
---|---|---|---|
1 | 10:45 – 12:15 | 12:30 – 14:00 | 13:15 – 14:45 |
B | 12:15 – 12:45 | 14:00 – 14:15 | 14:45 – 15:00 |
2 | 12:45 – 14:15 | 14:15 – 15:45 | 15:00 – 16:00 |
B | 14:15 – 14:30 | 15:45 – 16:00 | 16:00 – 16:15 |
3 | 14:30 – 15:45 | 16:00 – 17:00 | 16:15 – 17:00 |
This course is intended to provide basic training and support for further skills courses in the Digital Humanities. It is strongly recommended as a prerequisite to the other DH practical courses. As such, students will be required to bring a laptop computer (no tablets!) If this presents a problem, please contact the course instructor in advance.
- Introduction to the command line
- Introduction to file formats and filesystems
- Solving the mystery of special characters
- Understanding how the Internet works behind the browser
- Things you ought to know about your (Mac / Windows / Linux) operating system
- Where to go for help and how to understand the answers
Assessment will be on the basis of class participation, submissions to Moodle as required, and completion of the class project.
We will try to accompany the contents of each course with some practical steps of the exercise, which will lead to a final project in the end.
The exercise goals of each lecture are:
- Day 1:
- Install needed software to be used as terminal and code editor
- Start to become familiar with typing commands at the prompt of your computer's shell
- Make a note of all the error and informational messages you encounter along the way
- Start to become familiar with how problems are communicated by computer programs
- Day 2:
- Understand what regular expressions are for and when and why they are useful
- Learn the basic syntax of regular expressions and how to construct match patterns
- Day 3:
- Learn how to manipulate the contents of files on the command line
- Understand the concept of file types and formats, and understand how your computer guesses what kind of file something is
- Learn the
file
command, which takes a different approach to guessing what kind of file something is - Practice getting information out of the error messages you have collected so far
- Day 4:
- Understand what happens behind the scenes when you navigate to a URL in a web browser, or when you send an email
- Make requests of Web servers the same way that browsers do
- Learn about the three "Web languages" (HTML, CSS, Javascript) and how they work together to define the content, look, and functionality of web pages
- Day 5:
- Create an empty repository on Github with a README and an MIT Licence
- Practice working with Git and Github, the add/commit/push cycle, and pulling remote changes
- Understand how code collaboration works on Github, and fork the
miniproject
repository - Use regular expression knowledge to collect, transform, and clean data taken from Wikipedia into a format suitable for a web application
- Master the terminology that programmers take for granted
- Day 6:
- Write simple routines on the command line
- Learn how to turn these routines into executable programs
- Learn about different sorts of shells
- Modify the JavaScript function given in the boilerplate code to execute various regex tasks
- See the output of regex by opening the index.html file with a browser
- Understand how our code fetches the data using HTTP requests
- Add and modify basic CSS styles for different elements
- Add and modify basic interaction elements e.g. buttons in HTML
- Bind the elements to our JavaScript functions to toggle the data being displayed
- Finalize the project, push it to git repo and make it online using GitHub Pages
- Bootcamp: Computational groundwork skills by Pittsburgh-NEH-Institute: https://github.com/Pittsburgh-NEH-Institute/Institute-Materials-2017
- Software Carpentry workshop: https://software-carpentry.org/lessons/