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