Came here to give this answer.. it’s not an entire way to learn anything but it’s a good start and flexible enough it can actually apply to pretty much any new tool or tech component you want to learn… can do database or vitalization or most things it can think of can adapt some aspect of it to work with life as a simple toy problem. I think I discovered my favorite functional version of life adapting game of life to Apache Spark to find a way to describe the next state from current in a unified way without conditional logic or something, though memory is fuzzy as I never did spark again and it’s been 7 years now…
Also second someone else’s suggestion of Exercism.
Also second someone else’s suggestion of Exercism.