bestcourses is supported by learners. When you buy through links on our website, we may earn an affiliate commission. Learn more

Develop Your Electrical Circuit Solver in Python

Discover the theory behind today's circuit simulators and implement it in Python.

4.69 / 5.0
5885 students8 hours 23 minutes

Created by Ossama El Sanharawi, offered on Udemy

bestcourses score™

Student feedback


To make sure that we score courses properly, we pay a lot of attention to the reviews students leave on courses and how many students are taking a course in the first place. This course has a total of 5885 students which left 8 reviews at an average rating of 4.69, which is average.

Course length


We analyze course length to see if courses cover all important aspects of a topic, taking into account how long the course is compared to the category average. This course has a length of 8 hours 23 minutes, which is pretty short. This might not be a bad thing, but we've found that longer courses are often more detailed & comprehensive. The average course length for this entire category is 4 hours 58 minutes.

Overall score


This course currently has a bestcourses score of 6.7/10, which makes it an average course. Overall, there are probably better courses available for this topic on our platform.


Welcome to one of the very few online courses that will teach you how to develop an electrical circuit solver!

Are you interested in the theory used in most circuit simulators and how to implement it yourself?

Are you an electrical engineering student/professional wishing to develop coding skills?

Would you like to switch to a software engineering career and start with a programming project linked to electrical engineering?

If the answer to any of these questions is yes, this course is for you.

If you are a university student, you will find that this course is complementary to your curriculum.

You will discover Modified Nodal Analysis (MNA), a powerful method to solve electrical circuits. Leonhard Martin Wedepohl, a noted electrical engineering educator, emphasised that "the absence of this circuit analysis technique from many academic engineering courses is totally at variance with its widespread application in modern circuit simulation packages". And here is where you can learn this awesome technique!

Please note that this course does not cover the development of a graphical interface for drawing electrical circuits. However, this may be your next project after completing this one!

In the theory part of this course, you will get the foundations to build a circuit solver both in time domain and frequency domain. Although the implementation only covers independent voltage sources, independent current sources and RLC elements, modelling other components will require minimal additional effort!

If you have never programmed in Python, don't worry, we have dedicated a section to teach you how to code in Python as well as all the language concepts you need to complete this project! There are many exercises along the way before beginning the development of your circuit solver. These exercises will let you feel better ready for the real project.

You will start your program with a warmup challenge: build a DC solver in steady state. Once done, you will continue with the development of a frequency domain solver followed by a time domain solver.

During your adventure, you will learn an essential software engineering concept: version control. This will make it easier for you to monitor the progress of your development and avoid any loss of information if you screw things up or your program crashes at any time! In this course, you will use Git with GitHub (you will have to create a GitHub account -it's free- to better understand and apply version control concepts).

The last section of this course focuses on improving the structure of your code and defining an appropriate output format for your end-user.

If, at the end of this course, you are keen to continue with this project and develop further functionalities, you will find many creative opportunities that will help you to expand your programming skills and, in addition, enable you to show up with great achievements to employers! If you need guidance, some improvement suggestions are listed in the very last lecture of this course.

What you will learn

  • Graph theory applied to Circuit Analysis
  • Apply Modified Nodal Analysis (MNA) to electrical circuits in time domain and frequency domain
  • Python Fundamentals
  • Basics of version control, Git and GitHub
  • Develop a circuit solver in time domain and frequency domain
  • Get familiar with NumPy, the most popular Python scientific library
  • Basics of the pandas library for easy data manipulation and nice output formatting
  • Object-Oriented Programming with Python
  • The Don't Repeat Yourself (DRY) principle with class inheritance in Python
  • Code refactoring to improve your program structure


  • Basic knowledge of electrical circuits: modelling independent voltage sources, independent current sources and RLC in time domain and frequency domain
  • 1st year undergraduate level is enough (to understand basic matrix operations)
  • No prior knowledge of Python is required
  • A computer with an internet connection
Udemy logo
Available on


With almost 200,000 courses and close to 50 million students, Udemy is one of the most visited online learning platforms. Popular topics include software development, the digital economy, but also more traditional topics like cooking and music.

Frequently asked questions

  • Price: $19.99
  • Platform: Udemy
  • Language: English
  • 8 hours 23 minutes
Develop Your Electrical Circuit Solver in Python thumbnail

bestcourses score: 6.7/10

There might be better courses available for this topic.