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
Links#
Course Materials#
Slides (Python)
Slides (Linux)
Slides (Git)
Sample CSV files
Links#
Further bash materials
Further git materials
Miniconda installer (OSX, Intel)
Miniconda installer (OSX, Apple Silicon)
Miniconda installer (Windows)
Miniconda installer (Linux)