That's a good question Rania!
My programming practice approach is a mix of algorithms and building actual projects. I use algorithms to better learn how methods work; I build projects to conceptualize what I'm learning and make them stick.
Regarding time management, I don't mark my progress with time, but with tasks-completed. I used to watch so much tv lol and I cut all that out to learn to code. I was very motivated so it wasn't hard to devote time to learning.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.