LINAS Intro to Python & Machine Learning

This course covers the foundational aspects of machine learning for students in the humanities, from basics of Python programming to constructing a neural network model.

Instructor: J. G. Weston

Term: Spring

Location: Fellows Room, Institute for Global Peace, Justice and Security

Time: Wednesday, 13:00 - 15:00 (GMT/BST)

Course Overview

  • Introduction to the basics of Python and coding a machine learning model, developed for humanities scholars in the Leverhulme Interdisciplinary Network for Algorithmic Solutions (LINAS).

  • The course is divided into three units:

  • Unit 1: Introduction to Python
  • -Ability to understand the structure of a Python program
  • -Ability to write a basic Python program
  • -To become familiar with the various data types used within a program
  • -Develop the ability to code and implement basic logic
  • -Develop the skills to debug simple programs and errors

  • Unit 2: Data Management
  • -Learn how to read and understand data
  • -Understand the different stages of a data analysis workload
  • -Be able to prepare and clean a dataset for analysis
  • -Ability to infer relationships from data
  • -Be able to feed a simple dataset to a rudimentary model

  • Unit 3: Data Management
  • -Understand basics of ML model development
  • -Ability to optimise model performance
  • -Understand the differences and strengths of supervised/unsupervised learning
  • -Familiarity with development and output of DNNs
  • -Ability to construct processing pipeline from data input to results

Prerequisites

  • None

Textbooks

  • None

Schedule

Week Date Topic Materials
1 Mar 18 Inputs, Outputs & Arithmetic

Overview of basic Python programming in the Jupyter Notebook environment.

2 Mar 25 Data Types & Indexing Basics

Introduction to variable types including strings, integers, floats, booleans and lists.

  • Notebook
3 Apr 1 Conditional Logic, Control Flow and Functions

Operating under conditional logic and repeating code with loops and functions.

  • Notebook
4 Apr 8 Debugging and Basic Error Handling

Fixing code, reading errors and troubleshooting.

  • Notebook
5 Apr 15 Complex Data Types

Dictionaries, Classes and Arrays.

  • Notebook