Classification of programming exercises
In one sense this is hopeless as you probably can't come up with a classification that everyone would agree with. On the other hand, it is certainly possible for you to come up with a classification that is useful to you and to other people who think and teach like you do. 

However, the real problem is that "what is elementary" is bound up with teaching methodology and how an instructor chooses to create and deliver a course. The danger is that people will start to think that you need to teach what a taxonomy calls elementary first. That may not be the best course. It implies that one can only learn computing from the lowest level (say, C) to higher levels (say, Scheme) and that is known to be false. 

But if you are willing to match a taxonomy to a pedagogical system and deep ideas about the way that people learn, then it might be possible, even useful to do so, but, I think, it would only be valid for that system and possibly invalid for others. Just for example, tail recursion is pretty elementary if you are learning Scheme as a first language. 

But there is also a larger issue of program structure - what you imagine the nature of computation to be. These are even more "elementary", in a certain sense, than the things you list. For example, structured programming and object oriented programming (to name just two paradigms) have very different ideas about the nature of computation, but those underlying ideas are usually implemented with the simple tools you mention (among others, which are missing). 

In fact, using modern programming tools, it is possible to create an environment in which the student learns to program, where the environment itself defines all of the primitives, both values and actions. These environments are normally called simulations and they can be very sophisticated - Turing Complete, in fact. Any "model" of computation can be simulated this way. I point you to Greenfoot, for example, and it's companion teacher's site the Greenroom. The latter has a large number of such simulated programming "worlds" that can be adapted to teaching novices. 

I don't mean to discourage you, but ask you to consider that the problem is bigger than you imagine and your "solution" might only apply to a small part of the whole landscape.