у своїх бакалаврських програмах
undergraduate у цьому контексті - молодші/початкові курси/семестри, а не бакалаврські.
Думаю, що задача всіх початкових курсів - це ознайомити студента з основними поняттями.  Багатьом студентам-початківцям однозначно буде легше починати програмувати на Python ніж на якійсь функціональній мові програмування.  Інструмент повинен відповідати завданню і якщо професора з МІТ вважають, що Python підходить для їх задач, то нічого поганого я в цьому не бачу.  Як я розумію, ніхто не викреслює функціональні мови з навчальних програм, йдеться лише про курси для початківців.  Я сам на початковому курсі мав Standart ML i на ньому нам роз'яснювали про рекурсію, lambda calculus та ADT.  Так, було не легко, але і теорія не проста.  Python тоді не було, Java та С за альтернативу тоді не вважали, да і зараз не вважають.  Python має багато парадигм серед яких є і функціональна.  Так, це не Scheme, але для початківців вистачить.  Ця особливість мови дозволяє також ознайомити студента з декількома парадигмами одразу, використовуючи лише одну мову, а не декілька.
Тільки ось заголовок новини і сама новина ніяк не відповідає суті статті. Поправте новину будь ласка.