I follow the topics on Scientific Computing on Python and I have to say that I have some objections on the teaching approach based on my experience at least.
Specifically, by instructing someone to follow blindly steps that doesn’t make fluent in a language and certainly not in programming in general.
Not to mention that the “whys” of how the algorithm magically succeeds as in the shortest path algorithm are nowhere to be found.
Another example is about the instructions on recursion:
- no reference on the internals behind the lines of code
Reader should understand the order of execution of function body in this piled repetitive calls of the same function; is first executed first or last? what is the order of execution of code before the call and what the order of code after the call? and so on… - no reference of execution space which is isolated between different executions otherwise a body variable on the 2nd call will overwrite the same variable from the 1st call (resulting in increasing memory space of course)
- no reference on how variables are passed (are they passed by reference or by value?)
These topics are not minor but major issues if we want someone to understand internals of code execution!
But above all I fear the confidence/arrogance especially of young when they take a certificate which will make them believe that they learned how to program as I see it in every part of this industry!
Also, no Python is NOT a great language compare it with C par example, what makes people believe that I wonder…
We at the tech industry we’re not politicians to follow the fashion and I believe we should say things as really they are!
Just, some thoughts I wanted to share with the learners.