u/Swimming-Week4332

▲ 34 r/DataCamp+2 crossposts

Would implementing ML/math libraries from scratch actually help me learn deeply?

I’m currently taking a couple of NPTEL courses (for those outside India, NPTEL is a government-backed online platform where IIT professors teach full university-level courses, often pretty mathematically rigorous). I have just completed my 1st year in 2 degees ( CS and DS) and now have a 3 month summer break that I don't wanna waste and build some Projects too along with Mathematical theory.

Right now I’m doing: - second course in Linear Algebra and a Regression Analysis / Linear Models course

And I had this idea that I wanted some opinions on.

Instead of just “finishing” the courses, I was thinking of learning week-by-week and trying to implement small systems based on whatever I’ve learned so far.

For example:

As I go through linear algebra topics like: - vector spaces, linear maps ,projections ,eigenvalues ,SVD

…I gradually try building a very small educational linear algebra engine / mini-NumPy from scratch.

Not because I think I can build something remotely close to actual NumPy, but because I feel like struggling through:
- matrix operations, decoposition methods, numerical issues, performance bottlenecks, stability problems might teach me a lot more deeply than only using high-level APIs.

Similarly, with the regression course, I was thinking of eventually building a small regression library from scratch (OLS, diagnostics, regularization, etc.) kind of inspired by sklearn’s regression modules.

And I want to document the process as blogs/dev logs:

  • what broke
  • what confused me
  • numerical issues I ran into
  • why certain algorithms are implemented the way they are
  • what I learned about the math/computation behind these libraries

My question is:

Do you think this is actually a valuable way to learn ML/math/programming systems? Or is this one of those things that sounds cool in theory but ends up being a massive time sink with low practical return?

I’m mainly interested in: building deeper intuition and understanding what’s happening under the hood and becoming better at mathematical/computational thinking and hopefully becoming stronger for ML internships/research later on

Would love honest opinions from people who’ve tried similar things.... and also also, will it look good on the Portfolio.... I have a feeling it will be a good differentiator in portfolo and something I can grow in futue when I am done with Low Latency Systems...

Syllabus Links
Second Course in Linear Algebra
Regression Analysis

reddit.com
u/Swimming-Week4332 — 1 day ago