Notice: Now that we've chosen a proposal, we are discussing implementation as a part of this meta question. Please have any further discussions there.

Way back in the early days of our site (well, a couple months ago) we discussed Suitable age range tags. Based on our expieriance since then, I think that's worth revisiting. Here are some important things to think about:

  • Should we tag based on grade level? (Think about how well grade level corresponds to ability, how we'll deal with international issues, etc.)
  • Should we tag based on student ability? (Think about how we'll draw lines, what could "rules" be for tagging here, would it be useful in searching, etc.)
  • Should we tag based on courses? (If so, how widespread does a course need to be to get a tag, can we merge courses together, what should the wikis look like, etc.)
  • Should we tag based on student age? (Think about how segmented this should be, how well age corresponds to ability, etc.)

3 Answers 3


While ability-level tagging sounds like a good idea, I'm not sure that it will work very well in practice. Whether a task is 'beginner', 'intermediate' or 'advanced' is extremely subjective, and I'm pretty sure that if you ask each user of this site, you'll get a unique answer from each one.

also had issues in its brief lifetime, and I fear that taking this route will just lead to similar issues without really conveying any useful information.

To steal a software development idea, let's consider how users will want to use the site — the primary use of tags is to help people discover questions related to a certain topic. A primary teacher is likely to be looking for questions relevant to them — about primary education, and tailored to their students. A secondary teacher trying to teach a computer science qualification (e.g. a GCSE) will probably be looking for their course and for other questions on secondary education.

Therefore, it makes sense to me to go ahead and support that structure by having tags for different phases of education, along with course tags. Course tags would probably be ideal, but not all teaching is specifically for a qualification (in the UK, for example, before 14 there are no formal qualifications being worked towards, and I suspect this is similar in other countries).

Of course, course and grade tags don't work so well for education outside of the traditional schooling system, but it isn't compulsory to use any of these tags, and I think there's only value in using them when necessary. As Ben suggests, not every ability/grade/course tag will add value, and common sense is needed to decide where they're appropriate.


Here's my proposal:

  • Create tags for , , , ... (this is also consistent with the Mathematics Educators site, so should be more straightforward than two different systems on the two education sites).

  • Create course tags as required (I'm in agreement with thesecretmaster's answer on this one)

  • Avoid ability tags, because they won't really help users find relevant questions to them, but instead a mix of all age levels, audiences and topics that have little in common other than their perceived difficulty.

  • $\begingroup$ Can you expand on your definition of "course" so that this post can be a better reference for these tags? $\endgroup$
    – thesecretmaster Mod
    Jan 14, 2018 at 23:51
  • $\begingroup$ @thesecretmaster What Ben said is what I was referring to when I said course: a complete qualification (ideally, one with a published syllabus), like AP CS, GCSEs, etc. I had forgotten the potential ambiguity with the US usage. $\endgroup$
    – Aurora0001
    Jan 15, 2018 at 16:31

I guess I come to this with a slightly different take than @thesecretmaster. I agree that many of these tags (such as "high school") are overused, and can reduce the value of the site. However, there are certain contexts under which it makes sense. This question, for instance, will always be in a high school context.

To me this means that we should simply apply the following test to see whether a tag is appropriate: "does this tag actually add value to this question?" I suspect that the majority of the current applications of age-tags would fail this simple test, and those few that remain would add strength to the site.

  • $\begingroup$ I disagree. For classes about specific courses (like the one you linked), a course specific tag should be used. In addition, if that course was taught internationally, high school would not be accurate, but the course name still would be. That's why I suggested that we use course based tagging and ability based tagging. $\endgroup$
    – thesecretmaster Mod
    Dec 27, 2017 at 21:44

Grade/Age level tagging

Age level tagging is fairly similar to grade level tagging, in that age and grade are closely correlated. So, I'll address those together:

As @Keelan mentioned in their (top voted) response to the previous meta question on this topic:

I think age is not ultimately relevant (it's mental age that counts). However, we could focus on experience level and target groups...

I totally agree. Due to differences in schools, differences in student abilities, and different schooling systems (think international), any attempt to categorize based on age/grade not going to be a very effective way of categorizing answers.

Ability based tagging

Ability is far more universal than grade level and will categorize things far better than age. This is because a very advanced middle school student could have more knowledge than a high school student, depending on the schools and students. And an undergraduate introduction to programming class could be fairly similar to a high school introduction to programming class.

There is one exception to this rule: Very young children. Generally, teaching to an under 12-year-old audience is going to be significantly different from teaching older audience. So, I suggest that the only age based tagging we have is for that age group, and I propose .

Beyond that exception, we should adopt ability based tagging (to go along with our other tags). Here is a rough idea of what I'm imagining:

- For classes to teach total beginners or people who only have a little bit of experience.

- For classes teaching beginners -- folks who know the basics of a language and the basics of CS, but nothing beyond that.

- For students who are capable of completing many programming tasks on their own and have a general knowledge of CS and what is out there.

- For advanced topics that require a large foundation of CS knowledge, e.g. compiler design

Notice that I've left off -course or -programming or -lesson, because those should be encapsulated in a separate set of tags -- they are unrelated to level, they are simply a different category.

Now, in many cases you could be searching for e.g. a question. Instead, you should be searching based on ability. There is a reasonably close correspondence between grade/age and ability, so I suggest that we use ability based tagging with a meta question/tag wikis pointing out approximate correspondence between grade/age and ability tags.

Course based tagging

I think that these should be created liberally, for pretty much any course that appears in a question. It doesn't harm the site at all to have them, so why not have many.

  • $\begingroup$ I think this is a bit too focused on programming rather than CS generally. $\endgroup$
    – Buffy
    Dec 27, 2017 at 13:25
  • $\begingroup$ I would probably quibble about your definitions, but ability based seems a pretty good idea. The compiler course, for example, requires less than you might imagine, but a course that depends on it would be advanced most likely. And I'm guessing that @BenI's grads are advanced by most standards. $\endgroup$
    – Buffy
    Dec 28, 2017 at 0:18
  • $\begingroup$ @Buffy Yeah, all of my tag suggestions can probably be revised to be better. But you get the idea :) $\endgroup$
    – thesecretmaster Mod
    Dec 28, 2017 at 1:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .