I've had this post saved as a draft for a while now but I figured it's still worth talking about since I find this issue to be endemic in our education system.
Content typically precedes context and it's infuriating.
You're midway through your calculus class when suddenly you zone out and realize how seemingly useless a lagrange function is.
This is, in my opinion, a big reason why people flunk out and stop caring about school or their major, "When am I ever going to need to know the slope of a line", says the frustrated high-school student.
It's surprisingly rare to have a prof or teacher explain why we need to know something, or in what particular context it's necessary. Wouldn't understanding the purpose in something engender a greater sense of curiosity in a pupil?
Most of my profs have rarely given context to their material; they simply present it and leave.
Here's an excerpt from one of my prof's notes on recursion:
"Using auxiliary functions for recursion, particularly with data structures, is a very common technique that you must master."
Telling someone they must master something is nice. But why exactly must I master it, and why is it so common? Are you assuming I'm going to be working on auxiliary functions for the rest of my life?
Not only are concepts in computer science confusing and incredibly difficult to grasp initially, they seem to have very little applicable meaning until either:
- you've spent a while in the industry for it to finally click
- someone just tells you WHY it's important.
Once you know why something is important then you have a reason to learn it, otherwise it's just mental luggage that you must take on in order to get a credit.
There is a human tendency to ask, "why" for most things. We look for understanding in our every day actions and are in a constant search for meaning.
Thus education must have a meaning beyond getting a grade. This is where i think most teachers fail.
One solution would be to focus on breadth, rather than depth of any field and let students go where they may. This is how Harvard has done it for their intro to computer science class and I've got to say I learned a hell of a lot more in that one class than two programming classes at my university.
If you've never heard of a concept and you don't know the questions to ask to get you to that concept (i.e. the problem of what google question to type in order to find a desired result), then it may be quite a while before you gain the knowledge that leads you to your goal.
Thus, instead of covering one topic in depth, you can cover many topics in breadth and allow the individual to dive as deep as they wish with whatever they themselves see interesting. This style of teaching creates self-motivated individuals who actually care about what they're learning.