Skip to content
Course content for 2020 DHSI course (CANCELLED DUE TO COVID-19)
Jupyter Notebook Other
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CoursepackMaterials
ExamplesAndBoosters
covid
.gitignore
.gitmodules
README.md
gettinghelp.md

README.md

dhsi-coding-fundamentals-2020

Course content for the 2019 DHSI course: Computing Fundamentals for Human(s|ists), which will be held at the University of Victoria, BC on June 8-12, 2020. This is a break from previous repos, which can still be found at dhsi-coding-fundamentals-2018

NOTE: DHSI 2020 WAS CANCELLED DUE TO THE COVID-19 PANDEMIC - THIS REPOSITORY IS FOR HISTORICAL PURPOSES ONLY

The global schedule for 2020 is here: https://dhsi.org/schedule-week-2/

Jessica Otis | jmotis13@gmail.com | Twitter
Marie-Hélène (Marie) Burle | marie.burle@westgrid.ca | Website

Class Description

This course is intended for humanities-based researchers who do not have a programming background, but would like to understand how programs work "behind the scenes." Over the week, the emphasis will be on understanding how computer programmers think so that participants will be able to participate in high-level conceptual discussions with more confidence. These general concepts will be reinforced and illustrated with hands-on development of simple programs that can be used to assist with text-based research and analysis. Participants will work on larger projects of their own choosing for about a day and a half at the end of the course.

The programming language used for most of the course will be Python. Python has an easy-to-learn and gentle syntax, and powerful extensions. Use of the command-line interface will also be demonstrated.

Learning Outcomes

You should walk away from this course with the following knowledge:

  • Using the command line to manage files and folders, and run scripts.
  • Installing and accessing Python via multiple platforms.
  • Understanding of the Python 3.x programming language, including the ability to write simple scripts.

Reading Material

Before Day 1: Software Installation

Eduroam - If you come from an institution that has access to Eduroam, please activate and make sure you have access to Eduroam wifi before you leave your home institution. The UVic Eduroam wireless is generally better than the dedicated DHSI wireless network.

Anaconda - Please install Anaconda before this course begins. You can find the free download at -> https://www.anaconda.com/distribution/#download-section. Make sure to download version 2019.10 (or greater) of Anaconda and choose the Python 3.7 (or greater) version. If you have trouble with the install then we will help you complete the install on the Sunday before the first day of class.

Text Editor - Most operating systems come pre-installed with at least one version of a text editor. However, programmers tend to like to use more complex text editors that are designed to work with programming languages and provide helpful visual cues that alert users to potential errors in their code. There are a lot of options to use, as you can see from this list. A good option is Sublime Text 3, which runs uniformly across platforms and has a nice combination of a simple interface and powerful extensions, however you can use a different text editor if you have one you're already familiar with. Jessica, for example, prefers the Mac-only text editor BBEdit.

MobaXTerm - For WINDOWS USERS ONLY: if you are bringing a machine with a Windows operating system, please download the free version of MobaXTerm from http://mobaxterm.mobatek.net/download.html. This will enable you to access the command line on your machine. MacOS and Linux machines have this functionality built in.

Day 1: Welcome, Introduction to Python and the Command Line

  1. Welcome
    1. Course Philosophy
    2. Goals
    3. Schedule
  2. Introductions
  3. Command Line 101
    1. Basic Commands
    2. Hard Drive Navigation
  4. Python 101
    1. Python in the Command Line
    2. Python in a Text Editor
    3. iPython

Day 2: Python Basics

  1. Introduction to Jupyter Notebooks
  2. Data Types and Variables
  3. Libraries, Functions, and Methods
  4. Conditionals
  5. Loops

Day 3: Practical Python and Project Boosters

  1. File Imports and Exports
  2. Busting Out of the Notebooks
  3. Strategies for Getting Help
  4. Project Boosters (real-world examples requested by students to kick-start their individual projects)
  5. Project Brainstorming

Day 4: Group Projects

  1. Students work on individual projects, with instructor support
  2. Optional Coding Evening

Day 5: Race to the Finish

  1. Students work on individual projects, with instructor support
  2. Debrief and Feedback
You can’t perform that action at this time.