Last year, I started teaching at a university, San Pablo CEU, specifically in their Biomedical Engineering degree. It was a trying but ultimately rewarding experience. Teaching at University is very different to teaching at a professional school, even when the topic is similar. Motivating the students is a big challenge, and a huge change for me. I had always taught adults who paid for pretty expensive courses themselves, so I had barely had to give a thought to this aspect of teaching. Writing up exams and evaluating independent work from the students is also quite different.
One of the courses I had to teach was Numerical Methods. I was barely acquainted with the topic because I am not an engineer, but since the department is small I had to make the best of it.
In the end, I really enjoyed learning and teaching it. It is a beautiful subject in which you approach mathematical concepts and procedures like integration and differentiation from a perspective that was very new to me. You basically do mathematics without the need to know mathematics. You need to integrate a differential equation from somewhere to somewhere? Well, just cover that trajectory doing very small steps and keeping track of the changes in the interesting variable bit by bit.
This year I’m moving on to other topics, so I won’t be able to deepen my knowledge, nor to keep improving the materials in Python I created for the course. Since these may be of interest or utility to someone, I have decided to open-source them. You can find them at GitHub, in the danimateos/numerical_methods repo. I’m releasing them under a GPLv3 license, so anyone is free to use it or modify it as long as the result of that modification is also available to the public.
I hope this helps someone somewhere!