On CS and Coding

In what ways did we teach the soft skills that computer science and coding is lauded for teaching before using computer science and coding?

If learning computer programming isn’t really about the language, but about problem-solving, critical thinking, recognizing and interpreting patterns, and building algorithmic processes, then what else can we do that elicits that same skill building with a lower bar and less of a hesitation from teachers?

Paper airplanes as a child is one example that comes to mind. Building 20 different paper airplanes is a great low-stakes, low barrier for entry into this world:

1. You can start with the process for building a plane. (creativity)
2. If the plane flies well, you can still make gradual changes to the features and shapes. (iteration)
3. You may research some successful designs and see how they vary from yours and make appropriate changes. (research)
4. If your plane doesn’t fly, you check the basic folds to see if you made a mistake along the way. (debugging)

What other low- or no-tech ways can you engage in the thought processes of computer science and coding?