Introduction to software development in Python#

Overview#

Python is one of the most popular programming languages worldwide and is used in all areas of science. As one of the most flexible languages it can be used to automate routine tasks, visualise data, process images and run statistical tests, along with many other applications.

The first day of this course will introduce you to the very basics of programming in Python and get you up and running on your own machine. No experience is necessary, all you need is a laptop you can install software on.

The second day of this course will provide some further Python training, and particularly introduce good practices that will pay dividends as you dive deeper into programming.

Additionally, we will introduce the Linux command line, and version control with Git, key tools for anyone working with data and code.

Contents#

Day 1

Morning - Introduction

  • Introduction to Python

  • Installing Python

  • Editing Python files (IDE, text editor etc.)

  • Variables

  • Data types

Afternoon - Linux command line and general programming

  • Morning overview and Q&A

  • Linux command line

  • Loops

  • Conditional statements

  • Loading and saving data

  • Writing your first Python script

  • Installing packages with pip

Day 2

Morning - Introduction to version control with Git

  • Why is version control important?

  • Getting started (setting up git)

  • Basic commands (add / commit / diff)

  • Inspecting git history (checkout)

  • GitHub

  • Workflows (branches)

Afternoon - Further programming

  • Working with virtual environments

  • Using third party libraries from pip and conda

  • List comprehensions

  • Functions

  • Object oriented programming

  • Errors and exceptions

  • Organising your Python project and importing functions

  • Documenting your code