В течение нескольких лет я был преподавателем для введения в модуль программирования - Java для студентов первого курса.
В основном это прошло хорошо, и нам удалось получить объектно-ориентированное программирование для учащихся довольно хорошо, но одна вещь, с которой ученики редко видели точку, была интерфейсом.
В значительной степени любое объяснение, которое мы дали, либо натолкнулось на слишком ухищренное, чтобы быть полезным для обучения, либо слишком далеким от их позиции в качестве новичков. Реакция, к которой мы стремились, была "Я... вижу", переводится как "Я не понимаю, и они не кажутся полезными".
У кого-нибудь есть способ успешно обучать студентов интерфейсам? Я больше не помощник преподавателя, но он всегда навязывался мне.