Exploring 5 Engaging Python Projects for Engineering Students
Written on
This article outlines five project ideas in Python tailored for engineering students aiming to demonstrate their software development capabilities while concentrating on engineering principles.
Introduction
Python stands out as a widely-used programming language, applicable in various fields of science and engineering.
During my time as an undergraduate engineering student in Ireland, I only engaged in a single programming course focused on MATLAB. This lack of emphasis on enhancing software development skills left me unprepared for the industry, where I discovered that these abilities were essential.
As an aerospace engineer with experience in development and testing, and currently transitioning into AI and data science, my software development knowledge has been largely self-taught, a reality that persists today.
Reflecting on my college years, I wish I had dedicated more time to experimenting and developing small applications based on my coursework, rather than solely learning to pass exams.
Let’s delve into some Python projects worth exploring as an engineering student, especially if you have some free time or wish to solidify the concepts you’ve learned.
Below are the suggested projects, along with a brief explanation of their value and the best resources to get started.
1) Function Approximation with Taylor Polynomials
Benefit
The Taylor series allows for the numerical estimation of functions like sin(t) or cos(t). Coding this serves as an excellent exercise for engineers, requiring an understanding of symbolic differentiation and numerical methods.
Most students acquire sufficient knowledge in these topics during their first year of university. Mastering Taylor series lays a foundation for many advanced subjects in science and engineering.
Resources
- Grant Sanderson is a well-known figure among enthusiasts of engineering, mathematics, or computer science. To grasp the core concepts of the Taylor Series, start by watching 3Blue1Brown's video. If the animation in the bottom left looks familiar, it's created using 3Blue1Brown's math animation software, Manim.
- Any college calculus textbook is also useful; I recommend Calculus — A Complete Course by Robert A. Adams. While I own few texts, many lecture notes and free online PDFs are readily available.
2) Runge-Kutta Numerical Integration
Benefit
Runge-Kutta is a technique for numerical integration. It is essential for modeling physical phenomena, such as temperature changes in accordance with Newton’s law of cooling, which involves ordinary differential equations (ODEs). Understanding how to solve ODEs is crucial across many fields in engineering and science.
Completing this project serves as a foundation for the next three proposals, making it vital for general engineering competence.
Resources
- The Good Vibrations with Freeball YouTube channel is a fantastic resource for engineers. They implement an RK4 integrator in Python to tackle a mass-spring-damper system.
- Additionally, Richard Brunton’s lecture is perfect for this project. He shares MATLAB code for creating an RK4 from scratch, which can be adapted for your Python implementation.
3) Modelling Dynamic Systems
Benefit
Strengthen your grasp of vibrations by simulating the dynamic behavior of translational mechanical systems. This project is particularly beneficial for those interested in vehicle dynamics or spacecraft dynamics.
For instance, you might develop a basic model of a Formula One car's suspension, which is quite intriguing. Although these challenges are often tackled using MATLAB and Simulink, there is no reason you can't approach them using Python.
Resources
- Modelling and Analysis of Dynamic Systems by Charles M. Close is a great textbook, especially if you can find a free PDF online. It provides valuable insights into deriving system equations of motion and includes numerous sample problems.
- Dr. Rick Hill's YouTube lectures on Dynamic Systems and control systems are excellent resources. Many students, including myself, have benefited greatly from his courses. Thank you for your contributions!
The next two projects are more specialized for aerospace engineering, both sourced from Orbital Mechanics for Engineering Students.
4) 3D Kinematics Visualization
Benefit
Simulating a particle's trajectory based on its position over time and calculating various kinematical properties establishes a solid groundwork for tackling more intricate dynamics challenges.
This project does not require numerical integration; it mainly involves straightforward calculations. While visualizing trajectories can be relatively complex, creating animations is not mandatory for this assignment.
> Animations are a delightful addition to showcase your project, but the key takeaway is understanding how to implement the theory and achieve numerical results.
Resources
- This project is based on an example from Orbital Mechanics for Engineering Students. This book supplies the mathematical knowledge necessary to craft this artistic masterpiece in Python using only Numpy and Matplotlib.
5) The Two-Body Problem
Benefit
The final project may not be the most challenging, but it’s my personal favorite. Who doesn’t enjoy orbital mechanics? The Two-Body Problem is a classical mechanics challenge that involves visualizing the motion of two bodies influenced solely by their mutual gravitational attraction.
You’ll learn to derive the equations of motion, which might not be as complex as you anticipate. However, solving these equations does necessitate numerical integration.
There are numerous excellent resources available to kickstart this project. It is a fun endeavor, and if you create animations, they can be quite mesmerizing to watch for hours (or is that just me?).
Resources
- Throughout this article, I often refer to Orbital Mechanics for Engineering Students. The last two projects are rooted in the theory from chapter 1. Numerous additional projects and simulations can be explored in Python based on later chapters.
Project List
If these project ideas resonate with you, check out the list below, arranged from beginner to more advanced levels. While I focus on engineering students, these projects can benefit anyone interested in math and science. I often mention Python as it is my preferred programming language, but feel free to adapt these ideas to other languages if you have expertise elsewhere.
Engineering Projects in Python
These articles feature small projects for engineering students eager to learn Python programming.
Explore them…
- medium.com
If you're keen on Python, engineering, and data science, don't hesitate to follow me and check out my other articles.
I hope you found this information helpful. Thank you for reading!