This semester we had about a week to spend on numerical methods. My goal was to give them the basics of how a numerical method works: given one selects a step size and then one rides the slope of the tangent line: and repeat the process. This is the basic Euler method; one can do an averaging process to get a better slope (Runge-Kutta) and one, if one desires, can use previous points in a multi-step process (e. g. Adams-Bashforth, etc.). Ultimately, it is starting at a point and using the slope at that point to get a piece wise linear approximation to a solution curve.
But the results of such a process confused students. Example: if one used a spreadsheet to do the approximation process (e. g. Euler or Runge-Kutta order 4), one has an output something like this:
So, there is confusion. They know how to get from one row to the other and what commands to type. But….”where is the solution?” they ask.
One has to emphasize what is obvious to us: the columns, is the approximate solution…a piece wise approximation of one anyway. What we have is a set where these ordered pairs are points in the approximate solution to the differential equation that runs through those points. One cannot assume that the students understand this, even when they can do the algorithm.
An Exam Question
As a bonus question, I gave the following graph:
I then said: “I was testing out an Euler method routine on the differential equation and I got the following output.
A) Is this solution mathematically possible?
B) If there is an error, is this an error induced by the Euler method or by an improper step size, or is a coding error more likely?
Many students got part A correct: some noted that is an equilibrium solution and that this differential equation meets the “existence and uniqueness” criteria everywhere; hence the graph of the proposed solution intersecting the equilibrium solution is impossible.
Others noted that the slope of a solution at would be zero; others noted that the slopes above were negative and this proposed solution leveled out. Others noted that is an attractor hence any solution near would have to stay near there.
But no one got part B; one even went as far to say that someone with a Ph. D. in math would never make such an elementary coding error (LOL!!!!!)
But the key here: the slopes ARE negative above and a correct Euler method (regardless of step size…ok, within reason) would drive the curve down.
So this WAS the result of a coding error.
What went wrong: I was running both RK-order 4 and Euler (for teaching purposes) and I stored the RK slope with one variable and calculated the “new Y” using the RK slope (obtained from the RK approximation) for the Euler method. Hence when the curve “jumped over” the , the new slope it picked up was a near zero slope from the RK approximation for the same value of (which was near, but below the equilibrium.
My problem is that the two variables in the code differed by a single number (my bad). I was able to fix the problem very quickly though.
An aside
On another part of the test, I told them to solve and gave them the phrase: “hint: THINK first; this is NOT a hard calculation”. A few students got it, but mostly the A students. There was ONE D student who got it right!
Semester grades are out…
Cue e-mail messages saying “professor, I’d like to meet you over semester break to “discuss” my grade.”
Cue my answer:
I do tell them I’d be happy to meet with them at the start of the next semester to SEE their final exam…I’ll even give them a copy. I’ll be happy to discuss how they can improve their performances and to enhance their mastery of the material.
And yes, I give them their test averages prior to the final exam so they can check to see if I have the grades recorded correctly.
But the reality is that many have no interest in improving their performance; they merely want a higher evaluation given to their current performance.
That is human nature, I think. Fair evaluation of one’s performance can be painful…for ALL of us.