Catalogue
/
Software Development and Programming
/
Software Development with Python for Engineers

Software Development with Python for Engineers

Learn how to turn engineering and mathematical problems into structured, reliable and maintainable Python applications.

What will you learn?

This practical course introduces Python programming with a strong focus on engineering applications. Participants learn not only how to write Python code, but also how to structure larger programs, work with numerical data, test calculations and build maintainable technical software.

By the end of the course, participants will be able to:

  • develop engineering calculations in Python,
  • structure programs using functions, modules and classes,
  • work efficiently with vectors, matrices and numerical data,
  • use NumPy and SciPy for engineering calculations,
  • structure technical software into clear components,
  • read and write technical data,
  • debug Python applications systematically,
  • handle errors and invalid input,
  • create automated tests for engineering calculations,
  • visualise technical results,
  • organise a Python project so that it can be extended into a larger engineering application.

Requirements:

  • Basic engineering or technical background
  • Basic mathematical knowledge
  • No advanced programming experience required

Course Outline*:

*We customize the course outline and content to your specific needs and relevant use cases.

Day 1 – Python for Engineering Applications

Development Environment

  • Installing and configuring Python
  • Working with PyCharm or Visual Studio Code
  • Python interpreters and virtual environments
  • Installing external libraries
  • Basic project structure

Python Fundamentals

  • Variables and data types
  • Lists, tuples, dictionaries and sets
  • Conditions and loops
  • Functions
  • Function parameters and return values
  • List comprehensions
  • Working with files
  • Exceptions and error handling
  • Type hints

From Engineering Formula to Program

  • Translating formulas into Python
  • Structuring calculation steps
  • Separating input, calculation and output
  • Avoiding duplicated code
  • Writing readable engineering code

Practical Exercise

Development of a small engineering calculation program, for example:

  • cross-section calculations,
  • beam calculations,
  • load combinations,
  • material calculations,
  • or another application relevant to the participants.

Day 2 – Numerical Computing and Technical Data

NumPy

  • NumPy arrays
  • Vectors and matrices
  • Indexing and slicing
  • Matrix operations
  • Vectorisation
  • Broadcasting
  • Matrix-vector multiplication
  • Efficient numerical calculations

Linear Algebra with Python

  • Vectors and matrices
  • Solving systems of linear equations
  • The equation Ax = b
  • Numerical accuracy
  • Floating-point behaviour
  • Tolerances and approximate comparisons

Introduction to SciPy

  • Scientific computing with SciPy
  • Numerical algorithms
  • Linear algebra functions
  • Introduction to sparse matrices
  • Solving larger equation systems

Technical Data

  • Reading CSV and text files
  • Structured data formats
  • Introduction to JSON
  • Validating input data
  • Separating input data from calculation logic

Visualisation

  • Introduction to Matplotlib
  • Creating engineering diagrams
  • Plotting calculation results
  • Visualising geometric and numerical data

Practical Exercise

Creation of a numerical engineering application that reads input data, performs calculations and visualises the results.

Day 3 – Software Development for Engineering Applications

From Script to Software

  • Difference between a script and a maintainable application
  • Structuring larger programs
  • Modules and packages
  • Separation of responsibilities
  • Reusable calculation components

A typical architecture might be:

Input → Model → Calculation → Results → Visualisation

Object-Oriented Programming

  • Classes and objects
  • Attributes and methods
  • Constructors
  • Dataclasses
  • Composition
  • When object-oriented programming is useful in engineering software

Example engineering objects might include:

  • Material
  • CrossSection
  • Node
  • Load
  • CalculationModel
  • Result

Software Design

  • Separation of data and calculation logic
  • Designing clear interfaces between software components
  • Avoiding monolithic programs
  • Extensibility and maintainability
  • Basic software design principles

Debugging

  • Using the debugger
  • Breakpoints
  • Understanding stack traces
  • Assertions
  • Logging
  • Handling incorrect input

Automated Testing

  • Why testing is important for engineering software
  • Introduction to pytest
  • Testing mathematical functions
  • Reference calculations
  • Numerical tolerances
  • Regression tests

Introduction to Version Control

  • Fundamentals of Git
  • Tracking changes
  • Creating meaningful commits
  • Working safely on larger software projects

Final Practical Project

Participants restructure and extend the engineering application developed during the course into a small, organised software project containing:

  • input data,
  • calculation modules,
  • engineering models,
  • result processing,
  • visualisation,
  • error handling,
  • and automated tests.

Outlook

The course provides the foundation for developing more specialised engineering software, including:

  • structural analysis applications,
  • optimisation tools,
  • data processing applications,
  • finite element software,
  • graphical engineering applications with PyQt,
  • and interfaces to existing engineering software.

Hands-on learning with expert instructors at your location for organizations.

4,347€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
21
Hours (days:
3
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Immersive hands-on experience in a dedicated setting
*Price can range depending on number of participants, change of outline, location etc.

Master new skills guided by experienced instructors from anywhere.

3,012€*
Graph Icon - Education X Webflow Template
Level:
intermediate
Clock Icon - Education X Webflow Template
Duration:
21
Hours (days:
3
)
Camera Icon - Education X Webflow Template
Training customized to your needs
Star Icon - Education X Webflow Template
Reduced training costs
*Price can range depending on number of participants, change of outline, location etc.

Upcoming Sessions

5-7 Nov 2026
Barcelona
18-20 Nov 2026
Stockholm
26-28 Nov 2026
Dublin
14-16 Jan 2027
Dublin
20-22 May 2027
Brussels

Can't find a suitable date? Get in touch and we'll arrange one that works for you.

We use cookies to improve site navigation, analyse how the site is used, and support our marketing. You can accept all cookies, reject non-essential ones, or choose individual categories. Read our Cookie Notice