3. LET THEM DECIDE *
You want to ADAPT TO THE PARTICIPANTS BACKGROUND, but you are not completely sure about how to do this regarding the contents the schedule or the methodology. Sometimes it is impossible to make these decisions in advance because the exact skills or interests of the participants are not known.
Therefore, involve the participants in the planning of the seminar, or give them some alternatives at the beginning of the seminar. The participants will feel better and the seminar will be more relevant to them, because they were involved in deciding what will be taught, and how.
For example, you could ask them how often they want to have breaks, which examples or exercises they want to see (from a set of possible alternatives), or you could ask them whether they would prefer a more active involvement (exercises, group work) or whether they would like you to do a more presentation-style seminar.
It is also a good idea to build your seminars from "components". There can be some basic components (e.g. Java introduction of Java for C++ programmers) that create the foundation on which advanced components can build (such as RMI, JNI, EJB or Swing). The participants can choose one of the basic components and then add any number of the advanced components.