I recently wanted to learn a little bit more about machine learning. Given how important ML is to our work at Upstart, I wanted to add to my conceptual knowledge with a little practical work. So, I set out to go through some of the coursework at Fast.ai. I enjoyed the coursework. I didn’t finish all of it, but I did manage to build a few simple machine learning models that helped me understand the underlying concepts much better. At least for me, doing some real hands-on work is crucial to developing a deeper understanding of any topic.

One of the most interesting things about the course was its approach. The instructors started with helping you build a machine learning model — and abstracting out much of the underlying theory. He used an analogy that I thought was very apt — that if we taught baseball the way we teach computer science we would send kids through years of fluid dynamics before we let them throw a ball.

I think this is a wonderful analogy for how we teach many topics, especially science and engineering. We tend to start with foundational concepts — which can make the practical implications hard to understand. I think kids (and adults) often do better starting with a high-level project that may abstract foundational principals — but engages us. Then as we dive deeper into the project, we learn those principals within a context that makes them more engaging and applicable.

I found this concept of top-down learning that focuses on project-based learning. I’m sure there is research going on in this area now, and I’m going to look for some — and also try to build some top-down fun projects for my kids to engage with engineering concepts.