This repo contains the course materials for the "Introduction to programming for archaeologists" BA2 course at Leiden University. This course starts from the basics, and assumes you have no prior coding experience.
If you are not present at the lectures, you can find PDFs of the slides in the 'slides' folder. These contain background information that's useful (but not essential) for completing the modules.
To start, follow these steps:
- Download Anaconda (https://www.anaconda.com/products/distribution)
- Install Anaconda
- Create folder to hold all your scripts
- Click the green ‘code’ button above, then select ‘download zip’
- Move .zip file to your scripts folder and unzip it
- Start Jupyter Notebook from Anaconda
- Navigate to the Scripts folder, select relevant Notebook
- Read explanations
- Run cells by pressing ‘play’ button, or press SHIFT+ENTER
- Edit code in cells where needed
- Do exercises (marked with ## EXERCISE ##)
The modules are numbered 1 to 6, and correspond to the matching slides. The modules are structured as follows:
- Module 1: Variables & Basics
- Module 2: Lists & Loops
- Module 3: Loading & Manipulating Data
- Module 4: Graphs
- Module 5: SQL & Databases
- Module 6: Advanced Methods (Machine Learning)
There is also a folder containing assignments, each contains 3 levels of challenges you can use to test your coding skills. The assignments are structured as follows:
- Assignment 1: Variables & Basics (module 1)
- Assignment 2: Lists, Loops, Functions and DataFrames (module 2 & 3)
- Assignment 3: DataFrames, Graphs & SQL (module 4 & 5)
Can't get Anaconda to work? Try using Binder: https://mybinder.org/v2/gh/alexbrandsen/Introduction-to-Programming-for-Archaeologists/HEAD This will allow you to do the exercises in your browser without installing anything. Note: as this is all done remotely, you have to use the 'download' button to save your work!