Course Code: qubpyth1
Duration: 28 hours
Prerequisites:

None

Overview:

This is a proposal for a Python course for QuB's School of Mechanical & Aerospace Engineering, covering an introduction to Python programming and then data analysis with Python.  The exact content to be delivered will be agreed during a call with the trainer.

Course Outline:

Python Programming

Introduction to Python Programming

  • Running Python code
  • Using Python Development Tools (IDEs and command line tools)
  • Working with Python and iPython shells as well as iPython Notebook

Data Types and Operations

  • Integers and floats – probably not necessary
  • Strings and bytes – probably not necessary
  • Tuples and lists
  • Dictionaries and ordered dictionaries
  • Sets and frozen sets

Organizing and Distributing Code

  • Creating modules and packages
  • Distributing code to repositories

Object Oriented and Functional Programming

  • Creating and using functions and classes
  • Modifying functions and classes with decorators
  • Introducing meta-classes

Error Handling and Testing

  • Handling and raising exceptions
  • Writing and executing tests (doc tests and unit tests)
  • Checking code coverage by tests

Working with Files and Directories

  • Accessing different types of files and file handling principles
  • Creating, reading, updating and deleting files (including regular text files, csv, as well as Microsoft Word and Microsoft Excel files)
  • Extracting data from text files using Regular Expressions
  • Creating and deleting directories, listing and searching for files

Data Visualisation with Python

Introduction

  • Overview of data visualization core concepts
  • Visualization techniques and tools

Getting Started

  • Installing the Python libraries (Matplotlib, Seaborn, Bokeh, and Folium)
  • Use cases and practical examples

Creating Line Plots and Graphs with Matplotlib

  • Creating basic line plots
  • Adding styles, axis, and labels
  • Combining multiple plots
  • Creating bar charts, pie charts and histograms

Building Complex Visualizations with Seaborn

  • Visualizing Pandas DataFrame
  • Plotting bars and aggregates
  • Implementing KDE, Box, and Violin plots
  • Analyzing statistical distributions

Making Visualizations Interactive with Bokeh

  • Plotting with basic glyphs
  • Creating layouts for multiple visualizations
  • Styling and visual attributes
  • Adding interactivity (interactive legends, hover actions, and widgets)
  • Implementing linked selections

Visualizing Geospatial Data with Folium

  • Plotting interactive maps
  • Using layers and tiles
  • Adding markers and paths

Troubleshooting