31. GENERAL CONCEPTS FIRST **
The brain learns best if it can associate new topics with already learned topics. The more associations the brain can create for a new topic, the better it remembers it. The brain can store new knowledge more easily if has "categories" in which to store new knowledge.
Therefore, teach general concepts first. When teaching details, or other topics that are based on the general topics taught before, this has two positive consequences: The new topic can be remembered more easily, because it can be associated with the general concepts. And the general concepts are stored more thoroughly, because they become REPEATED TOPICS as new topics are introduced.
For example, teach the concepts of defining logical interfaces first. Explain the advantages of pure interface definitions. Then introduce pure abstract classes (C++, Java) and interfaces (Java ,IDL) and show how they implement the general concept of an interface.