This repository is a collection of ideas and an initial framework for teaching coding techniques to Humanities students. The main purpose is to be able to identify tasks that can be automated, break down those tasks into smaller ones, and solve them using programming techniques. The information proposed here is largely a guideline on how to approach these problems and set up a working plan of action to solve them. It is therefore irrelevant which programming language is used, the concepts are universal.
Comprised of two modules that deal with the basic theory about programming and writing code.
Comprised of three modules that deal with practical steps that can be taken to implement ideas as code.
Python for Digital Humanities channel https://www.youtube.com/playlist?list=PL2VXyKi-KpYuy_7p4nSE2z0535FDky5zA
Problem solve like a programmer https://www.youtube.com/watch?v=x77-gT8bWLo
Bash script that completely new users can run to push to github, so they can start having version control from day 1
This will allow students who are new to coding to be able to look back at their mistakes and see the progression of what they have done. If we consider how Jupyter Notebook simply gives the students the ability to write code, the problem we run into is that students need to be able to move back and forth between (possibly) better code they wrote yesterday, so that will give them the confidence to not be scared to experiment with their code. However, what we need to do is make the process of simply "saving" their work, i.e. pushing to a repo, as simple as possible. A bash script which allows them to do it in one click could be the solution to this problem.
- Mention in each module what the learners are going to learn - bullet points.
An important part of developing solutions that are feasible to implement is to ask the right questions. So the following guidelines could help in identifying what are the most important parts of the problem you are facing.
- Always have a proposed answer together with your question (regardless of how ridiculous the answer may seem).
- Ask youself which parts of your proposed answers would be the most difficult to solve or are not helpful.
- Reformulate the answer trying to solve those parts.
- Ask someone else for help while providing your answer as the initial first steps.