Как обучить глупых студентов функциональному программированию?
Не совсем понимаю проблемы. First class functions, lambda, closure реализованы и активно применяются в большинстве современных mainstream языков. Многие алгоритмы гораздо удобнее выражать рекурсивно, например quicksort классически выражают рекурсивно. То есть отдельные приёмы ФП вполне укладываются в обычную ментальную модель, без подрыва мозга)) Не обязательно ведь учить кодить на Scheme или Haskell.
Я бы попробовал дать им очень простой язык с быстрым циклом разработки, такой как Elm.