Items 1-4 seem like basics any electrical engineer should be trained in before learning the details of a specific code. Codes differ from place to place and change from time to time but the basic concepts stay the same. Just my humble opinion.