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
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.
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.
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.
- Welcome
- Course Philosophy
- Goals
- Schedule
- Introductions
- Command Line 101
- Basic Commands
- Hard Drive Navigation
- Python 101
- Python in the Command Line
- Python in a Text Editor
- iPython
- Introduction to Jupyter Notebooks
- Data Types and Variables
- Libraries, Functions, and Methods
- Conditionals
- Loops
- File Imports and Exports
- Busting Out of the Notebooks
- Strategies for Getting Help
- Project Boosters (real-world examples requested by students to kick-start their individual projects)
- Project Brainstorming
- Students work on individual projects, with instructor support
- Optional Coding Evening
- Students work on individual projects, with instructor support
- Debrief and Feedback