Develop Your Electrical Circuit Solver in Python
Develop Your Electrical Circuit Solver in Python, available at $49.99, has an average rating of 4.25, with 88 lectures, based on 10 reviews, and has 5928 subscribers.
You will learn about 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 This course is ideal for individuals who are Anyone studying electrical engineering or working in this field with the wish to start learning programming. or Anyone aiming to develop a real-world programming project related to electrical engineering. or This project may be suitable as a project proposal for university students. or Electrical engineering students/professionals wishing to extend their career opportunities by developing multi-disciplinary skills. or Anyone curious in understanding the theory behind the solvers implemented in modern circuit simulators. It is particularly useful for Anyone studying electrical engineering or working in this field with the wish to start learning programming. or Anyone aiming to develop a real-world programming project related to electrical engineering. or This project may be suitable as a project proposal for university students. or Electrical engineering students/professionals wishing to extend their career opportunities by developing multi-disciplinary skills. or Anyone curious in understanding the theory behind the solvers implemented in modern circuit simulators.
Enroll now: Develop Your Electrical Circuit Solver in Python
Summary
Title: Develop Your Electrical Circuit Solver in Python
Price: $49.99
Average Rating: 4.25
Number of Lectures: 88
Number of Published Lectures: 88
Number of Curriculum Items: 88
Number of Published Curriculum Objects: 88
Original Price: £19.99
Quality Status: approved
Status: Live
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
Who Should Attend
- Anyone studying electrical engineering or working in this field with the wish to start learning programming.
- Anyone aiming to develop a real-world programming project related to electrical engineering.
- This project may be suitable as a project proposal for university students.
- Electrical engineering students/professionals wishing to extend their career opportunities by developing multi-disciplinary skills.
- Anyone curious in understanding the theory behind the solvers implemented in modern circuit simulators.
Target Audiences
- Anyone studying electrical engineering or working in this field with the wish to start learning programming.
- Anyone aiming to develop a real-world programming project related to electrical engineering.
- This project may be suitable as a project proposal for university students.
- Electrical engineering students/professionals wishing to extend their career opportunities by developing multi-disciplinary skills.
- Anyone curious in understanding the theory behind the solvers implemented in modern circuit simulators.
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.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Chapter 2: Circuit Theory
Lecture 1: Introduction to Modified Nodal Analysis (MNA)
Lecture 2: MNA Basics – Example 1 – Part 1
Lecture 3: MNA Basics – Example 1 – Part 2
Lecture 4: MNA Basics – Example 2 – Part 1
Lecture 5: MNA Basics – Example 2 – Part 2
Lecture 6: Application of the MNA Principles – Part 1
Lecture 7: Application of the MNA Principles – Part 2
Lecture 8: Application of the MNA Principles – Exercise Solution
Lecture 9: MNA Computational Formulation
Lecture 10: Calculation of Branch Voltages and Currents
Lecture 11: Incidence Matrix
Lecture 12: Branch Admittance Matrix and Complete Equation for Currents
Lecture 13: LC Modelling in Time Domain – Trapezoid Area
Lecture 14: LC Modelling in Time Domain – Trapezoidal Rule
Lecture 15: LC Modelling in Time Domain – Common Representation and Iterative Process
Lecture 16: LC Modelling in Time Domain – Proof of the Inductor Model
Lecture 17: LC Modelling in Time Domain – Proof of the Capacitor Model
Lecture 18: LC Modelling in Time Domain – Impact on the MNA Matrix Equation
Lecture 19: Exercise – Proof of the Nodal Analysis Formulation
Lecture 20: Presentation of the Proof of the Nodal Analysis Matrix Equation
Lecture 21: Exercise – Proof of the MNA Formulation
Lecture 22: Presentation of the Proof of the MNA Formulation
Chapter 3: Python Fundamentals
Lecture 1: Python Installation
Lecture 2: Code Editor and IDE
Lecture 3: Getting Started with PyCharm
Lecture 4: Integers, Floats and Strings
Lecture 5: Lists
Lecture 6: Conditional Statements
Lecture 7: Loops – Part 1
Lecture 8: Loops – Part 2
Lecture 9: Exercises – Lists, Loops and Conditional Statements
Lecture 10: Exercises Solutions – Lists, Loops and Conditional Statements
Lecture 11: Dictionaries – Part 1
Lecture 12: Dictionaries – Part 2
Lecture 13: Exercise – Dictionaries
Lecture 14: Functions – Part 1
Lecture 15: Functions – Part 2
Lecture 16: Functions – Part 3
Lecture 17: Exercises – Functions
Lecture 18: Functions – Solution to Exercise 1
Lecture 19: Functions – Solution to Exercise 2
Lecture 20: Object-Oriented Programming – Part 1
Lecture 21: Object-Oriented Programming – Part 2
Lecture 22: Object-Oriented Programming – Part 3
Lecture 23: Exercise – Object-Oriented Programming
Lecture 24: Object-Oriented Programming – Solution to the Exercise
Lecture 25: Files I/O
Lecture 26: Introduction to NumPy
Lecture 27: Introduction to Pandas
Lecture 28: Introduction to Matplotlib
Lecture 29: __name__ and __main__
Lecture 30: Virtual Environments
Chapter 4: DC Circuit Solver
Lecture 1: Introduction
Lecture 2: Program Structure
Lecture 3: Solution – Part 1 – Storing the Input Data
Lecture 4: Solution – Part 2 – Input Pre-processing
Lecture 5: Solution – Part 3 – Node Admittance Matrix
Lecture 6: Solution – Part 4 – Incidence Matrix and MNA Matrix
Lecture 7: Solution – Part 5 – RHS Vector and System Solution
Lecture 8: Solution – Part 6 – Branch Voltages and Currents
Lecture 9: Documentation and Arbitrary Nodes Labelling
Chapter 5: Introduction to Version Control
Lecture 1: Version Control Definition and Concepts
Lecture 2: Token Authentication for Git Operations
Lecture 3: Practicing Git From the Command Line
Lecture 4: Version Control with PyCharm
Chapter 6: Frequency Domain Solver
Lecture 1: Introduction
Lecture 2: Tips and Hints
Lecture 3: Solution – Part 1 – Input Pre-processing
Lecture 4: Solution – Part 2 – System Solution and Results Validation
Chapter 7: Time Domain Solver
Lecture 1: Introduction
Lecture 2: Tips and Hints
Lecture 3: Solution – Part 1 – Before the Main Loop
Lecture 4: Solution – Part 2 – Main Loop Implementation
Lecture 5: Results Validation
Chapter 8: Code Refactoring and Output Formatting
Lecture 1: Introduction
Lecture 2: Introduction to Class Inheritance
Lecture 3: Changes to the Input Files Format
Lecture 4: Base Class Implementation
Lecture 5: Decorators and Static Methods
Lecture 6: Output Formatting – Introduction
Lecture 7: Output Formatting – Implementation
Lecture 8: Defining the Python End-User Interface – Introduction
Lecture 9: Defining the Python End-User Interface – Implementation
Lecture 10: Allowing Alpha-Numerical Nodes Labelling – Introduction
Lecture 11: Allowing Alpha-Numerical Nodes Labelling – Implementation
Lecture 12: Running a Python Script With Additional Command Line Arguments
Lecture 13: Improvements Suggestion
Instructors
-
Ossama El Sanharawi
Engineer
Rating Distribution
- 1 stars: 1 votes
- 2 stars: 0 votes
- 3 stars: 0 votes
- 4 stars: 5 votes
- 5 stars: 4 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Digital Marketing Foundation Course
- Google Shopping Ads Digital Marketing Course
- Multi Cloud Infrastructure for beginners
- Master Lead Generation: Grow Subscribers & Sales with Popups
- Complete Copywriting System : write to sell with ease
- Product Positioning Masterclass: Unlock Market Traction
- How to Promote Your Webinar and Get More Attendees?
- Digital Marketing Courses
- Create music with Artificial Intelligence in this new market
- Create CONVERTING UGC Content So Brands Will Pay You More
- Podcast: The top 8 ways to monetize by Podcasting
- TikTok Marketing Mastery: Learn to Grow & Go Viral
- Free Digital Marketing Basics Course in Hindi
- MailChimp Free Mailing Lists: MailChimp Email Marketing
- Automate Digital Marketing & Social Media with Generative AI
- Google Ads MasterClass – All Advanced Features
- Online Course Creator: Create & Sell Online Courses Today!
- Introduction to SEO – Basic Principles of SEO
- Affiliate Marketing For Beginners: Go From Novice To Pro
- Effective Website Planning Made Simple