MB
Thank you very much! This was an amazing and very clear course. I will use the python codes in my research when possible.
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.
MB
Thank you very much! This was an amazing and very clear course. I will use the python codes in my research when possible.
RM
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.
MF
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
YH
This is a great course for intro to numerical course with additional bonus on python code, although a little bit too fast pace.
VP
This is an outstanding course that covers many subjects briefly. I have learnt so much with the methodology the lecturer have applied for the course.
NL
Well thought out. The material is ordered logically and easy to follow. This online course compliments the book from which it is based on.
TD
A very practical introduction. The later weeks are very dense, but useful for those starting out with FEM methods and need a good primer.
MI
Excellent Course, Really appreciated the effort instructor have put in with intereactive examples and implementations.
EL
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.
RK
This course is really great, a great way to get a basic understanding and the differences between all the methods.
KB
I liked how the course was structured and well curated. However I feel it can be improved with more intuitive explanations of the numerous mathematical concepts introduced.
FD
I already know that I will learn a lot even though I am an undergrad. ( FTD from Colorado School of Mines)
Showing: 20 of 139
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.
While I enjoy using and learning about computational modelling techniques, I don't feel this course was presented in the right format for the material - at least for me. There was a lot of mathematical theory presented in the lectures, but I feel like this would be much easier to understand if presented in a text based format that could be read at the readers pace. The equations in the video were animated with a hand-writing format that often left the final equations on the screen for a very short time before the video cut forward to the next section, requiring awkward pausing and skipping back and forth to see how the equations progressed and made gaining an understanding of the material quite difficult. In terms of the application, the code presented required very little implementation. The code was almost entirely complete and the only exercise for the student is to alter some parameters. More detailed and challenging coding exercises are needed for me to properly understand the material. The upside is that the course did provide an overview of several modelling methods and provided code that could be used as a go-by, so there was still some value in completing it.
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.
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.
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
There should be some PDF notes of the equations, you cannot expect people to memorize and learn all the quiz topics. With PDF notes I would have given 2-3 stars more, sorry, but that's how it is. As an engineer with some background in the field and some training, I however completed. But this is what you need to do, if you want better satisfaction, sorry.
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.
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!
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.
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.
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
Well thought out. The material is ordered logically and easy to follow. This online course compliments the book from which it is based on.
Excellent coverage of the fundamentals. Would love to see another course like this developed that covers more advanced material.
A great course for anyone interested in numerical methods applied to the wave equation. Clear and engaging lectures.
An excellent course for anybody intending to learn numerical analysis with Python.
The course could have been extended for longer duration so that the topics could have been explored in detail, specifically the math behind the Spectral element method. Further, having no coding background makes it really hard to implement the math into codes. Hence, the coding part also requires extended focus.
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.
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.
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.
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.