Rust, Design Patterns, Matrix Factorization, Numerical Methods, Software Engineering.
the user to introduce inter-changeable algorithmic blocks. For example, if a user wants to solve a particular differential equation, multiple methods and sub-methods are available: Finite Differences Methods with all the varieties of numerical schemes, Finite Elements Methods with all the varieties