I currently lead a course for Database programming with Java and Oracle. This is my third course with that subject, but there is a specific detail here - my trainees are not experienced developers. They are all adult who have experience in different areas - construction engineers, accountants, administrators, scientists. This makes it difficult to present the technology in a way for all of them to understand it correctly.
Except the variety of examples in all of the lectures, I have to decrease the technical level of explanations. I use to speak with less development terms and explain slowly and with an increased attention paid to the students that have less understanding on the subject. I try to combine the visual and audial techniques. I also left my email in order to provide further details on particular topics if there are blur aspects of the technology.
In the beginning of every lecture I summarize the content from the last training. I take notes of the hard parts from the lecture for every student and test his memory and acceptance with practical questions.
It seems to improve the course quality when working with juniors to med developers and have to keep up to a schedule for each subject.