Currently I am completing all exercises in books like "Introduction to Python for Science and Engineering, David Pine" and "Guid to Scientific Computing in C++, Pitt-Francis, Whitley". I am looking for a career change after spending a long time in high school education teaching physics. Re-teaching myself from the Engineering Maths and Advanced Engineering Maths by Stroud as well. At university, I coded a numerical simulation of solar neutrino oscillations using Runge-Kutta routines in C++. Whilst I am making good progress, I would like to know what kinds of projects, tasks etc should I engage with to bring these skills together? Is there a good source of these projects, that one could take a look at and review with others to get feedback on progression? Any other tips are also welcome.
I agree with the spirit of the comments from @user14717. You can burn the candle from both ends here. I suggest splitting your time between
- small, fundamental problems that can be solved in < 100 lines of code
- project-based problems that foster knowledge of production code architecture and implementation
For 1., your textbook problems are good. I also recommend checking out Project Euler. Reading questions/answers from this StackExchange site isn't a bad idea either. For 2., check out active open-source software and see what you can contribute. Even attempting to understand how these codes operate is beneficial. You might consider what application areas you find interesting, then looking for software in this area. For example, if you find fluid dynamics interesting, you could check out OpenFOAM or deal.II (both are C++, which I noticed you used as a tag). These projects are not hard to find if you search around. You can also check out the journals that publish the documentation for these projects, e.g. SoftwareX, Computer Physics Communications, Journal of Open Source Software, etc.