The general idea is quite good, and I would think that various sections could be developed for varying levels of expertise, with the easy stuff coming up in the default mode, and more expert areas navigable with increasing amounts of work (and the default can be reconfigured to whatever level(s) you currently want).
The very beginner level would include things that you just double-click on and start playing with. Somewhat more advanced levels would be written in Python, BASIC, Java, whatever, where the editor/IDE comes up when the source file is double-clicked. Help would also open upon boot so it's obvious where to access it, and context-sensitive help that changes as you enter various development steps would be even better.
At the higher levels, the appropriate IDE and/or command-line windows would open with help open to the right place in a background window. The user's experience level could be selectable, if not inferable, and provide the appropriate amount of assistance. It can be quite a leap going from the typical scripting languages to things like C and C++, and having templates come up that require increasing levels of experience could ease users into more advanced concepts. There is a lot more to software development than just programming, and students should be introduced to all phases of quality software work, from specs, through design, implementation, documentation, testing, debugging, and iterative improvement.
Or, stuff could just be listed in alphabetical order by height ...