Skip to Main Content
library logo banner

Research Software Learning Online: Python

Using Python

Python logoPython is an object-orientated programming language that is easy to learn and can be used for programming, data analysis and data visualisation across a wide range of platforms.

Students can use Python via a number of applications on the University-Managed computers and via UniApps and UniDesk (Anaconda, Python 3, Jupyter notebooks). Python is an open-source programming language and there is extensive guidance available through the Python website: https://www.python.org.

The DoctoralSkills Research Software Skills course delivers workshops to doctoral students on Python. However, the lesson materials are available online for you to refer to (under 'Lesson Materials'). 

Image CC BY-SA: https://commons.wikimedia.org/wiki/File:Python.svg

Please note that O'Reilly deletes content in December and June. If you are linking to courses on this platform we advise that you check that they are still running in January and July of each year. 

Getting started courses

These courses are suitable for those who are new to Python. Some of the courses under 'Intermediate and Advanced' courses are also suitable for beginners as they tend to start with the basics therefore, it is worth having a look at those courses as well as the ones listed below. 


Python for Beginners: Learn Python Programming (Python 3)(2.5 hours)

This course is suitable for those new to programming in Python and provides a good introduction to the basics of programming in Python 3. Note: you can using Jupyter Notebooks for programming in Python at the University of Bath but this is not covered within the course. The course covers: 

  • Python setupPython for beginners
  • Strings and variables
  • Functions
  • Lists
  • Dictionaries
  • Tuples
  • Files
  • Modules

Python Essential Training (4.5 hours)

In this course, you will learn:
 

  • The fundamentals of Python programming language, including variables, data structures, and control flow.
  • How to work with basic data types such as integers, floats, booleans, and strings.
  • The concepts of functions, classes, and objects in Python.
  • Techniques for handling errors and exceptions in Python programs.
  • How to work with different types of files, pass command-line arguments, and create modules and packages in Python.

Python for Non-Programmers (2.25 hours)

In this course, you will learn:

  • Basics of Python programming language
  • Working with variables, numbers, and strings
  • Using booleans and if statements for decision-making
  • Handling lists, loops, and dictionaries for data manipulation
  • Creating functions and utilizing parameters for efficient coding

Introduction to Python: Learn How to Program Today with Python (8 hours)

This video course is suitable for those new to programming with Python and move onto some intermediate and advanced topics such as web development and data analysis. The course covers: 

  • Introduction to programming and PythonIntroduction to Python: Learn How to Program Today with Python
  • Python and programming basics
  • Control flow with conditionals
  • Lists and loops
  • Advanced language topics
  • Introduction to data analysis in Python
  • Introduction to web development in Python

Intermediate and advanced courses

These courses are mainly suitable for those with an existing working knowledge of programming in Python however, many of them do provide introductory modules that are suitable for those new to Python. The longer courses can be used to dip in and out of to learn about specific skills. 


Python A-Z: Learn Python Programming by Building 5 Projects (12 hours)

This is an in-depth course suitable for those new to programming in Python. If could also be used as an intermediate course to learn some intermediate skills. The course covers: 

  • Python setupPython A to Z: learn python programming by building 5 projects
  • Writing your first Python programme
  • Datatypes in Python
  • Operators in Python
  • Input and output
  • Control statements
  • Loops
  • Strings and characters
  • Lists, Tuples and dictionaries
  • Functions
  • Object Orientated Programming
  • Errors and exceptions handling
  • File handline
  • Package management
  • Project: face detection
  • Project: video downloader
  • Data analysis with Pandas
  • GUI project
  • Database basics: SQLite3
  • Project Tkinter
  • Project: building a Twitter Bot

 

Python Data Analysis (2.5 hours)

In this course, you will learn:

  • Setting up the analysis environment and working with data structures in Python
  • Utilizing NumPy and pandas for data analysis tasks
  • Creating and analyzing NumPy arrays for data manipulation
  • Using pandas to work with DataFrames and Series for efficient data processing
  • Visualizing data with matplotlib to create xy plots

Python Fundamentals (45 hours)

This is an extensive and in-depth video course that can be used by beginners to intermediate users. It can be dipped in-and-out of to learn specific skills. The course covers: 

  • Introduction to programming in PythonPython Fundamentals
  • Using IPython and Jupyter Notebooks
  • Control statements
  • Functions
  • Sequences: lists and Tuples
  • Dictionaries and sets
  • Array-orientated programming with Numpy
  • Strings: a deeper look
  • Files and exceptions
  • Object-orientated programming
  • Natural Language Processing
  • Data mining Twitter
  • IBM Watson and cognitive computing
  • Machine learning: classification, regression and clustering
  • Deep Learning
  • Big Data: Hadoop, Spark, NoSQL and IoT

Intermediate Python for Non-Programmers (5.25 hours)

In this course, you will learn :

  • Understanding classes and object-oriented programming in Python
  • Working with APIs and JSON for projects like a weather forecaster
  • Exploring functional programming concepts such as map, filter, and reduce
  • Building a web scraper to extract data from webpages
  • Managing files, including creating, reading, editing, and deleting files