When answering this question, I think there are big differences between
- teaching college vs high school vs middle school vs elementary school students.
- self selected students vs compulsory
- prior exposure to programming, eletronics, or mathematical analysis
So I have to ask what kind of students are you teaching?