I'd suggest starting with the basics of the language itself (syntax, keywords, arrays, casting, variables, properties, variables vs properties, functions, events, functions vs events, extending/inheritance, etc.). The wiki contains a lot of information about this, but you could make a condensed version or try to explain the various aspects in a different way if you find the documentation on the wiki to gloss over some parts or if you end up with unanswered questions. I think most of the points in the Advanced Scripting section you posted would fall under this section, though there are more advanced uses of some of those points as well.
There could be a section on scripts within Creation Kit (attaching scripts to objects, filling properties, properly removing/clearing properties, automatic script prefixes and the importance of prefixes in terms of improving compatiblity, etc.). Script fragments will probably end up being important to a lot of modders since they are used in quite a few places (perks, TopicInfos, quest stages, scenes, etc.), but they also have a specific structure that most other scripts don't have and they have a few quirks. Maybe a mention of limitations regarding scripting in CK (character limit of the internal editor, limited use of the Papyrus compiler, etc.).
Advanced scripting could contain:
- More in-depth information about utilizing extending/inheritance, casting (e.g. checking the type of Form, accessing an instance of a script in another branch in a tree of inheritance, etc.), threading (e.g. Chesko recently wrote tutorials on multi-threading), using properties to make scripts that are generic, etc.
- How to use third party libraries (SKSE being the most important/used).
- External editors (what they have to offer and how they differ from the internal editor) and other tools (e.g. Champollion, Advanced Papyrus *tooting my own horn*). This point might be a bit tricky, since it is more likely to require updating from time to time if you make it detailed.
Best practices:
- Unique names for scripts in order to minimize compatibility issues.
- When to use polling and how to do it safely.
- Handling "exceptions" or unexpected results (you often see people posting logs with errors about scripts trying to call functions on None objects).
- Persistence of references stored in variables and avoiding unnecessary persistent references.
I've probably forgotten to mention something important.