#This isn't something we can fix, because your question is based on a faulty premise.
Namely, you seem to have an artificially-scoped (read: wrong) definition of 'teaching'. Your post insinuates that people who come here for help don't want to be taught, or specifically that helping them doesn't include teaching them.
You're drawing way too big of a distinction between the two terms, seemingly in order to create what amounts to a fake definition of teaching. All teaching is, first and foremost, a form of helping, just like all squares are a form of rectangle. However, when you help someone with a problem, you are in many ways teaching them as well, regardless of what the problem or setting may be. Okay, so maybe that's not what you mean, maybe you mean on a bigger scale. That's fine, because that doesn't change anything:
From Merriam-Webster:
###Definition of teach
- to cause to know something
- to guide the studies of
- to impart the knowledge of
- to instruct by precept, example
Teaching encompasses everything, from informing someone of a single fact or observation, to taking someone from knowing nothing about programming to making them and industry-level programmer. Even closing a question is teaching, because it helps make someone aware either that there is a duplicate system they can take advantage, or that they should look harder for typos next time, or it might teach them about the concept of debugging on your own by removing lines of code until you isolate and reproduce the error (at least 4 out of every 5 times I have a problem, this method lets me find the solution on my own).
Likewise, you don't have to ask about a broad concept to get an answer that teaches you something. I've had people respond to two- and three-line answers of mine before saying things like 'learn something knew every day' or 'thanks, I didn't know that'. That's teaching. A lesson does not have to be lengthy to be considered teaching. In short, every answer ever posted (and upvoted, essentially) has the potential to teach someone something.
##Okay, but what about, like, really, really broad or lengthy teaching questions?
We already have a way to handle that. The "Too Broad" close reason exists, and both the Help Center and the Tour talk about how questions should be reasonably-scoped and as specific as possible, and that "if you can imagine a book on the subject of your question, you're probably asking a poor question for Stack Overflow" (I'm paraphrasing here).
Even so, though, there's nothing in the Stack Overflow rule book that says teaching someone concepts is verboten here. As a matter of fact, the subheading of the Tour page says:
With your help, we're working together to build a library of detailed answers to every question about programming.
(emphasis mine)
Broader conceptual questions about programming definitely fall under the umbrella of "every question about programming", and read a certain way, one could use that language to argue that it is debugging questions, not conceptual questions, that should be considered off-topic, because by their nature they have a high risk of not being particularly useful for other people. I know if I had to pick between the two, at least I would vote to keep conceptual/teaching questions, and do away with debugging questions.
Furthermore, the help center page on Asking along with the blog post on good subjective questions specifically mention that good conceptual questions tend to be long, not short. While true that this is specifically focusing on subjective questions, the same premises hold true for any type of question - we want all answers to explain "how" and "why" the answer is true; we want all answers to explain in detail what the answer is.
As far as the desired goal based on your question and comments, from what I can tell you are wanting to prevent people from coming here at all when their goal is to learn how to program on a broad scale. The short answer is:
###We can't.
Until Stack Overflow controls the education systems of every country in the world, or until we institute a rigorous training regimen that all users most go through before they can join the site, ask a question, or post an answer, we simply will never be in a position to prevent people from having a misconception about the site before they ask their first question. Currently, we don't even know someone exists until they post their first post here.
As far as I'm aware, what constitutes depth in a discussion is not something we have yet been able to teach a machine or system, so there is also no way for us to detect the difference between asking about some implementation of a function from Facebook's website, or asking us how to write a Facebook-killer social network from scratch. We can write as much copy as we want in our Help Center about what to ask, but the more we write, the less people pay attention to it.
So... handling peoples' misconceptions is already an ex post facto problem, and simply re-defining some words or rewriting a help page won't do anything to change that.
As far as your specific example goes, I agree with your self-characterization of not being a wordsmith, because:
However, questions which ask the community to fundamentally teach you a new concept are frowned upon, simply because it takes a lot of energy—on both sides—to be sure that the concept is properly communicated.
Frankly, this just sounds like you are too lazy to put in the effort to provide a comprehensive answer to a concept question. Which, if that's the case, that's fine! No one is forcing you to answer every question :-) But I think it's totally wrong to try and prevent others from teaching their peers or peer-hopefuls if they want to. Questions like these are great teaching questions, and should never be discouraged here:
(notice these are all very recent ones and with a very high score, since you criticized Mark Amery for providing some older questions in his earlier answer).
By all means, though, feel free to start an initiative to spread the word on Reddit, Twitter, coding forums, etc. that SO is not a teaching institution but rather a narrow help site in Q&A form... maybe it will make a difference and change the general public's perception of Stack Overflow, but I doubt it; I think people will disagree either silently or loudly.