Learning by recreating

Learning by recreating
Photo by Ralph (Ravi) Kayden / Unsplash

In schools, we're taught conclusions. As the world evolves, the fixed ideas taught to us gradually become outdated. Schools seldom encourage looking at problems for ourselves and recreating the solution, preventing us from understanding why things are the way they are.

Analysis is defined as separating something into its constituent parts, which appears to be a great way to learn. The only problem is, we never get to analyse situations, just someone else's conclusions about them.

For example, functions in a class might appear to be equally important. However, each function was potentially added at different points in time and evolved in a crazy manner. But all we see is the flat view, not the temporal view. We also don't see the whiteboard meetings, the struggle with opposing constraints, and the limitations of the technology at the time. It's no wonder that reading source code is considered to be an arduous activity.

The best way to learn database architecture, operating systems, web applications, self-driving cars, etc., is to create them. And schools should basically be labs to enable the students' creativity go wild.