/intro-to-programming-for-archaeologists

BA2 course on programming for archaeologists

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Introduction to Programming for Archaeologists

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.

Get started

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 ##)

Modules

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)

Assignments

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)

Trouble shooting

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!