Today that problem can be solved with Github, Sourceforge, Google Code or whatever. A decade ago I remember asking for a job as a Java developer by taking the source code for a Scheme interpreter written in Java into the interview. A checklist of features is a nice starting point for things to look for for when learning, but there is no substitute for solving problems with the language. Thus, one day you will be able to say what you did with it, rather than which features you understand.
So my feedback for the author is this: Write a followup suggesting some sample projects to write, organized by level of difficulty, just as you've organized language features by difficulty. The projects shouldn't be large, just things that will tend to force the developer into an in-depth understanding of one or more of the advanced features you have suggested. For example... You mentioned timers. What could/should I build if I want some experience using timers?