What is the best way of tagging questions to identify the combination of experience level and age range which a question is focused on? Ideally in a way which will be internationally relevant?
I think age is not ultimately relevant (it's mental age that counts). However, we could focus on experience level and target groups:
- Experience level: introductory-course advanced-course
- Target group: primary-school high-school undergraduate graduate
Both dimensions are relevant to teaching and therefore part of the subject of the question. For example, in introductory courses there are different problems than in advanced ones, like installation issues, more plagiarism, having to teach syntax rather than concepts, etc. The grade level more or less describes mental age and is relevant because different groups need different pedagogic approaches.
These tags are different from so-called meta tags like "beginner", because they give information about the situation, not the background of the asker.
I have to vote against our CM on this, partially at least, though I don't relish doing so.
Tags are meant to describe the subject of the question
The whole premise of this site is education and the level of that education is the subject of the questions. If not explicitly, then inherently. For that we need tags to differentiate the level of the materials. On SO a user might be well versed in one language, yet be helpless in another. The tags for languages helps them sort that out. Here an instructor may be excellent with courses aimed at computer-literate students adding another language or skill to their skill set, but be helpless with a neophyte. Tags will help us sort that out.
Conversely, I don't think we need tags that sort by age ranges. Possibly allowing for the extremes at both ends: per-adolescent and elderly, which have their own set of unique challenges. On this site the age of the student means much less than the level of their computer literacy, and their level of ability, or education, in the subject area.
Just to pipe up on other tags. I see that programming language tags are growing roots here as well. I can't say if that's good or bad, yet I'm inclined to think that they are not appropriate for here. The language used might be part of the question's details, but the issue raised is most likely relevant to education using any one of several other languages, or maybe even without a language at all. The concept of
array is the same in C, Perl, Fortran, and BASIC. Some allow multi-dimensional arrays, others do not, but how to use them, logically, remains the same regardless of the syntax.
Some thoughts a little farther along...
The target group (primary-school, etc) tags are, I think, working out very well and are useful.
The experience level tags...well...not so much. introductory-programming is clearly over used and is being phased out, and I'm not sure advanced-programming is a great tag either. It's been discussed in chat that we should perhaps create tags for common courses, like cs0, cs1, ap-computer-science, and so on, which I think is a great idea, and conveys the idea of experience level without the mass application. A couple of these have already been created.
Thirty-one years ago, the ACM Computing Curricula used the terms "CS1" and "CS2" to designate the first two two courses in the introductory sequence of a computer science major. While computer science education has greatly changed since that time, we still refer to introduction to programming courses as CS1 and basic data structures courses as CS2 [...] while there is wide agreement on the connotation of CS1 and CS2, there is little agreement as to the denotation of these terms
So even these tags may not always work out. These tags are very important, and I don't think they're meta tags, and they'd be very helpful to users of this site - but we have to think carefully about how we want to structure the experience level tag system.
I don't think you should tag questions with either the grade or experience level of the target audience. If that context is important (it typically would be), you should clearly describe the context of your specific situation in the body of the post. Tags are meant to describe the subject of the question, not to specify how it should be answered or of whom it is being asked.
This isn't all that different than tagging a question [beginner] or [layman] or any other meta tags we explicitly discourage on other sites. When you start needing a hierarchy of tags just to describe the difference between a 1st-year advanced student vs. an introductory course offered in a graduate curriculum, the purpose of those tags stop making sense. Ultimately they're just filler that don't actually describe the subject of the question — and that's where folks stop tagging questions properly, when they find a few [question] and [beginner] tags, but fail to actually described the question at all.
I think that this type of tag a good approach to help the definition of age range. Combining it with the tags suggested in the @Keelan answer, we will have a good audience identification.