What You'll Learn on This Online Course
1. Learn Python fundamentals

A crash course on computer programming and automation.
Master three fundamental concepts:
- How computer systems work, algorithms and data structures.
- Python scripting for complete beginners.
- Web development and how to publish our applications to the web.
2. Build your own Civil Engineering Tools

We will built 4 different self-hosted Python applications and publish them to the web.
- 2D Beam analysis.
- Reinforced concrete section design.
- Geotechnical slope stability analysis.
- 3D Frame analysis (using Finite Element Analysis).
3. Create a Finite Element Analysis Engine

The crown jewel of the course - we build our own Finite Element Analysis Engine which we can customise and reuse on our projects again and again.
- We build using an open-source Python library.
- You are guided through each step of developing the engine.
- Publish your tool onto the web for free.
- Customise it and take it in your own direction.
What will you learn to build?
We use Python to publish your Beam Analysis tool onto the web
- Follow along in this practical lesson where we build this tool together.
- Our tool will input beam length, beam properties, support conditions and loading conditions.
- Using an open-source Python library our application will run calculations automatically to calculate deflection, bending moment, shear force and reactions.
- We will then publish our application onto the web so that it can be used on any of our devices.
- The tool we build will be similar to the version here, except we will be able to customise it further and self-host it.
We use Python to publish your Concrete Design Tool onto the web
- Follow along in this practical lesson where we build this tool together.
- Our tool will input concrete properties, steel properties and the overall section size and rebar distribution.
- Using an open-source Python library our application will calculate a full range of section properties (including centroid position, second moment of area) and generate our M-N Plots for our design calculations.
- We will then publish our application onto the web so that it can be used on any of our devices.
- The tool we build will be similar to the version here, except we will be able to customise it further and self-host it.
We use Python to publish your Slope Stability Analysis Tool onto the web
- Follow along in this practical lesson where we build this tool together.
- Our tool will input slope profile (height and length) multiple layers of geology (and their geotechnical design properties), loading conditions around the slope and water conditions.
- Using an open-source Python library our application will calculate the Factor of Safety based upon the Bishop's Method of Slices and display the factor of safety and sensitivity analysis for the slope.
- We will then publish our application onto the web so that it can be used on any of our devices.
- The tool we build will be similar to the version here, except we will be able to customise it further and self-host it.
We use Python to publish your 3D Frame Analysis Tool onto the web
- Follow along in this practical lesson where we build this tool together.
- Our tool will input node coordinates and fixity conditions of a 3D frame and input node loading conditions
- Using an open-source Python library our application will calculate deflections and deformed mesh of the frame in a 3D visualisation using the Finite Element Analysis approach.
- We will then publish our application onto the web so that it can be used on any of our devices.
- The tool we build will be similar to the version here, except we will be able to customise it further and self-host it.

Introducing your instructor
Hi, I'm Stevan. đź‘‹
Before starting Civils.ai, I worked as a Civil Engineer for Arup, contributing to tunnel projects in the UK and Singapore. In 2020, I began teaching myself coding and created the early concept of Civils.ai as a final project. Since then, I've been dedicated to bringing automation to repetitive tasks on construction projects.
I wanted to share the lessons we've learned in bringing automation to construction projects and help others get started automating their projects.
Lesson Plan
Module 1 - Course Introduction

We kick off the course by explaining exactly how the course works.
Lesson duration: 10 mins
Lesson type: Theory
Things you will learn:
- Structure of the course with theory & practical.
- Introduction to your instructor.
- Course resources.
Module 2 - Python & Programming Fundamentals for Engineers

This is a beginner friendly crash course explaining how programming languages work and how to get started scripting in Python.
Lesson duration: 60 mins
Lesson type: Theory & Practical
- How do computer systems work and what is programming?
- What is Python?
- When & how is Python better than Excel?
- Set up our computer to start working with Python
- Write our first programme
- Start working with Python libraries
Module 3 - Building and Publishing Python Applications on the webÂ

Building upon the last lesson, we look at how we can host our applications on the web and publish our first web app.
Lesson duration: 45 mins
Lesson type: Theory & Practical
- How do websites work?
- What is HTML, CSS and Javascript?
- How to host web applications using only Python?
- Creating our first web application
- Publishing our web application (free of charge)
- Controlling access to our applications
Module 4 - Building our own Beam Analysis Software

We build our own self-hosted beam analysis tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
- Introduction to the Open-Source Python Beam Analysis Library.
- Connecting inputs into the libraries calculation functions via a user interface.
- Rendering calculation outputs (Deflection, Bending Moments, Shear Forces, Reactions) in plots and charts.
- Publishing our application to the web.
Module 5 - Building our own Reinforced Concrete analysis software

We build our own self-hosted reinforced concrete design tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
- Introduction to the Open-Source Concrete Properties Library.
- Connecting inputs into the libraries calculation functions via a user interface.
- Rendering calculation outputs (concrete section properties and M-N capacity) in plots and charts.
- Publishing our application to the web.
Module 6 - Building our own Geotechnical Slope Analysis software

We build our own self-hosted slope stability analysis tool and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
- Introduction to the Open-Source Geotechnical Slope Analysis Library.
- Connecting inputs into the libraries calculation functions via a user interface.
- Rendering calculation outputs (slope factor of safety, calculation slices and sensitivity analysis) in plots and charts.
- Publishing our application to the web.

We build our own self-hosted Finite Element Analysis software and publish it to the web.
Lesson duration: 30 mins
Lesson type: Practical
Things you will learn:
- Introduction to the Open-Source Finite Element Analysis Library.
- Connecting inputs into the libraries FEA Engine via a user interface.
- Rendering calculation outputs (node deflections, internal forces, stresses and deformed mesh) in plots and charts.
- Publishing our application to the web.

Create a final project & receive your signed digital certificate
- Become an Python in Civil Engineering Specialist.
- Join the 300+ Alumni network.
- Position automation superpowers at the heart of your career.
Why invest in Python skills in 2025?
- Stand out from the crowd with a CV which shows your know about technology.
- Save on software costs and build your own self-hosted tools.
- Identify inefficient manual processes and save your company money.
- Build skills which will be ever more important in the future (AI is all built on Python).
- Understand technology from first principles.
- Other Engineers are investing in improving their programming skills - don't get left behind.
- Stay up late at night manually cleaning up data and running calculations.
- Think that everything needs to be done in Excel.