Chevron Left
Back to Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python

Learner Reviews & Feedback for Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python by Ludwig-Maximilians-Universität München (LMU)

318 ratings

About the Course

Interested in learning how to solve partial differential equations with numerical methods and how to turn them into python codes? This course provides you with a basic introduction how to apply methods like the finite-difference method, the pseudospectral method, the linear and spectral element method to the 1D (or 2D) scalar wave equation. The mathematical derivation of the computational algorithm is accompanied by python codes embedded in Jupyter notebooks. In a unique setup you can see how the mathematical equations are transformed to a computer code and the results visualized. The emphasis is on illustrating the fundamental mathematical ingredients of the various numerical methods (e.g., Taylor series, Fourier series, differentiation, function interpolation, numerical integration) and how they compare. You will be provided with strategies how to ensure your solutions are correct, for example benchmarking with analytical solutions or convergence tests. The mathematical aspects are complemented by a basic introduction to wave physics, discretization, meshes, parallel programming, computing models. The course targets anyone who aims at developing or using numerical methods applied to partial differential equations and is seeking a practical introduction at a basic level. The methodologies discussed are widely used in natural sciences, engineering, as well as economics and other fields....

Top reviews


Dec 20, 2021

Would have like more "empty" cells in notebooks for trying to establish loop one self and then having a "correct" output to aim for. Maybe followed by a solution cell with a correct implementation.


Nov 26, 2019

A fascinating teaching technique, delivering quality content with a well-thought quizzes system! It' hard to find better courses in the domain of Finite Difference and Spectral Element methods

Filter by:

1 - 25 of 117 Reviews for Computers, Waves, Simulations: A Practical Introduction to Numerical Methods using Python

By tom w

May 1, 2019

This is an excellent course. Professor Igel did an excellent job putting this material together. His intimate familiarity and comfort with the material is certainly key to the clear explanation of concepts he provides.The subject material was something I should have learned at a younger age. Those planning to pursue a career in Geophysics will benefit greatly from this course. Many topics are covered in the course, the use of Green's functions is clarified, finite difference methods are derived and illustrated using Taylor series expansions, pseudospectral methods are developed... It was nice to return to uses of Chebyhev polynmials, Lagrange and Legendre polynomials and get a better grasp of their use. The psudospectral section was particularly fascinating since geophysicists routinely use Fourier transforms in their analysis and the applications to simulation provide new insights into their use.There is much to be gained through the course. I suspect it is at an intermediate level and serves as a good foundation for more advanced study. The Jupyter notebooks were excellent and provide an excellent resource for further study and application. They also serve as excellent examples of Python coding of various finite difference and finite element simulations along with applications going beyond this course.

By Niels C N

Apr 13, 2019

Heiner Igel is an excellent teacher and he stops Just before the real complications begin as he should at this introduction level. The format of the course is such that Heiner Igel explains to the viewer while hand-written equations and drawings appear absolutely synchronized in the background. Then there are programming exercises where you can run simulations in Python (using Jupyter Notebooks). The programs are well-structured and easy to follow and manipulate to test out the theories. Super well prepared - it has clearly taken a very long time to put this course together. The explanations are detailed enough to get a good feel for the numerical methods and their implementations, but not such that everything is painstakingly derived mathematically. Overall a good introduction to numerical methods without too many complications, but you do get a feel for how complicated it could quickly become.

By Sean B

Sep 4, 2019

I can't say enough nice things about this course. I struggled with numerical methods as an engineering undergraduate, but Dr. Igel did a fantastic job of presenting and explaining the material. The few errors are quickly resolved and explained. Other courses I've utilized have forums full of confusion about quizzes and unresolved errors; those simply aren't present here. The supplementary materials are amazing and abundant and the instructor clearly enjoys what he's teaching. I hope Dr. Igel will present more courses soon! Enjoy!

By Portia S

Jan 19, 2020

This course is by far the best Numerical Methods MOOC course . The lecture breaks down the physical meaning of the mathematics and helps you visualize the solution. The practical exercises are great for people who are learning with the intent of using the skills and not just for obtaining a passing grade. The lecturer answers queries promptly and teaches the subject with enthusiasm . I was encouraged to apply my mind. Thank you.

By rasheed a

Jun 10, 2019

This is a great course! It has the perfect amount of theory and practice of seismic wave propagation. I had a lot of fun experimenting with the Python codes and converting them to MATLAB. Thank you for the effort you put into its development, Dr. Igel. Moving forward, I wonder if you planned to develop a similar course for the inverse problem.

By Mohammed E F

Nov 27, 2019

A fascinating teaching technique, delivering quality content with a well-thought quizzes system! It' hard to find better courses in the domain of Finite Difference and Spectral Element methods

By Rakesh m

Jul 12, 2020

This is an excellent course as I have found. The instructor has taught us many important concepts including the detailed codes. I would love to join further courses from Prof. Igel.

By Miguel A M

Jul 11, 2021

Great course, I hope there will be a followup covering all the parts Prof. Igel mentioned in the final lecture. Amazing balance theory/practice and fantastic Jupyter Notebooks

By Noah L

Mar 14, 2019

Well thought out. The material is ordered logically and easy to follow. This online course compliments the book from which it is based on.

By James S

Oct 14, 2019

Excellent coverage of the fundamentals. Would love to see another course like this developed that covers more advanced material.

By Deleted A

May 13, 2019

A great course for anyone interested in numerical methods applied to the wave equation. Clear and engaging lectures.

By Manoj J

Jul 12, 2019

An excellent course for anybody intending to learn numerical analysis with Python.

By Vu N

May 3, 2020

This is a perfect course to introduce the learners to the world of numerical methods and finite element methods. The technical contents are deeper than what I initially thought about, but the programming examples and the quizzes helped clarifying many things that I was not clear.

The Jupyter notebook is a very good editing tool and programming environment because the comments (markdown) can be edited with mathematical symbols. The setting of the Jupyter notebook allows the learners to go back and change each code block to modify/troubleshoot and study in a good way.

It is good that learners are allowed to access all the course materials and graded parts for free. I like that way because I can arrange my time to finish the course first and pay the fee to upgrade (get the certificate) later. In other courses I paid the fee upfront but I was later too busy on other things and couldn't finish those courses and then lost my money.

By Anubhav

Jun 8, 2020

I finally finished the course today. It was so much fun. So, I had already done a course in FEM and used FD to solve some basic engineering differential equation problems. I took this course for a better understanding of algorithms that goes behind a real life problem scenario (the ones which can hang your calculator if tried to solve on). This course takes on all the most used numerical techniques and covers them quite efficiently- FDM, FEM, SEM. You may not find a lot of derivations of formulae used in this course for obvious reasons (check the title of the course). But that is very usual, otherwise each weeks will require a separate course by itself. I would like to specifically stress upon the efficiency of using Jupyter notebooks for python codes. It made the understanding of algorithm part very smooth and couldn't be better. Thank you Coursera and the course instructors for making this journey a great one.

By Ronald D

Feb 16, 2021

This has been one of the best online courses I've done to date. The instructor was very comfortable with the subject matter which helped portray the complex concepts across without hesitation. Unfortunately there doesn't seem to be any other courses at the moment by Heiner Igel. Please encourage him to do more as I'm keen to continue learning about this subject in the 3D spatial domain. Overall I highly recommend this course for anyone wanting to understand the underlying mathematics and get a sense of practical numerical methods using Python.

By Seçkin B Ö

Sep 22, 2022

The course was a great introduction to FEM-FDM, and more. The maths behind the code implementations are handled by the instructor in such a way that it was neither too long and boring nor not sufficient, but right at the point. I believe, when I study many body simulations, I will not get an headache understanding the context and the codes. To get the most out of the course, first watched all the videos, and studied the labs superficially. Then watched again all the videos superficially but taking notes, and tried to write my own code.

By Marek S

May 15, 2022

These lectures are just pure gold and very approachable. I always wanted to learn about the more practical aspects how to actually implement some of the numerical methods to solve PDEs.

Prof. Igel is just excellent lecturer and he prepared extremely well documented python codes to demonstrate various aspects. This is so great for experimentation!

This is how the numerical methods should be taught.

My dream to learn about this after many years out of university just came true. I am very thankful for being able join this course.

By Yohanes N

May 29, 2020

I am very proud of completing this course! I could say that this course is very recommended for everyone. The course contents assume that you're familiar with engineering maths, but the courses are highly understandable and interactive. Plus, there are Jupyter notebooks to accompany you programming in Python. Heiner Igel is a very brilliant professor, he always responded to most of my questions and gave valuable feedback. Just perfect, hoping there's a sequel of this course! Thanks very much.

By Marely R

Dec 13, 2020

It's a great course, I really liked it, although the questions were difficult some times. You needed to pay real attention to the answers because the multiple choices could be confusing, if you didn't know the exact answer you could mark something really similar to the real answer. The evaluations are well designed. The algorithms are easy to understand and the introduction of the Jupiter Notebooks is something I enjoyed a lot. The simulations are beautiful too.

By Honam Y

Jun 16, 2020

My background is optical physics and quantum optics. However, I think that this course should be a pretty clear and straightforward introduction and explanation to people who just start learning linear algebra and concepts of basic wave mechanics. This is the first time for me to study seriously finite difference and elements simulations. I deeply appreciate finite approaches and associated mathematical skills.

By César G M

Feb 28, 2023

This course met my expectations. I have learned a lot about numerical and theoretical analysis and it has motivated me to continue learning a little more about these topics.

The teacher is clear concise and motivating. The assessments are consistent with the course material and the notebooks are very well done, neat and clear. I had the opportunity to apply the contents to my work.

I recommend it.

By Luben C G

Jan 7, 2023

This is an excellent course. Many important concepts of four important numerical methods (finite difference, spectral, finite element, and spectral element) are fully explained and worked out for leading with hyperbolic partial differential equations, and others. The Python programs are very interesting and can be used for solving other problems and understanding the presented material.

By Phillip L

Jul 13, 2019

Incredibly good jupyter notebooks. Very good balance between theory and application. I would have liked to learn about more differential equation than the elastic wave equations and how the methods learned in this course can be applied to other pdes. But then again... "waves" is in the title of the course, so it's not too surprising that waves are the focus of the lecture.

By Muhammad B S

Aug 15, 2019

One of the best things about this course is the professor's elegant and lucid explanation of difficult concepts of numerical methods during his scintillating lectures. He is actually aware of his field very well. And the integration of properly commented Jupyter notebooks justified it's name as to "A practical introduction......". Thanks, Professor!!

By Carlos O

Dec 13, 2020

I truly enjoyed the course. It was well-structured, clear and there was a good combination between mathematical derivations and practical aspects using Python. I don't work with wave propagation, but had the interest of exploring numerical methods in Python to solve PDE. Mission accomplished! Especial thanks to Prof. Heiner Igel