...В течение десятилетий мы боролись с использованием объектно-ориентированных языков, таких как Java или C++, чтоб объяснить эти простые идеи, и все время терпели неудачу. И я могу сказать тем из вас кто не вовлечен в сферу академического образования в данный момент, многие из моих коллег по всему миру находятся в той же ситуации, и отчаялись найти выход из нее. Уродливая методология, "шаблоны проектирования", "руководства по стилю", все они мешают преподавать принципы программирования. И даже если это отодвинуть в сторону, вы по-прежнему придерживаетесь императивного программирования на эфемерных структурах данных. Это просто не работает, поскольку это фундаментально неправильная вещь. Просто попробуйте преподать, скажем, удаление в двоичном дереве поиска; это ужасающая путаница! Вы закончите абсурдной ерундой "null-указателей", и сложной путаницей вызванной методологией, а не самой задачей. Очень скоро вам придется прибегнуть к "шаблонам" просто чтобы дать студентам шанс довести до конца что-нибудь вообще, отдаляя их от существа идей и создавая впечатление, что программирование болезненно и уродливо, что является огромной трагедией.
Нашим решением было выбросить все это целиком, сдвинув ОО техники в более старшие курсы для студентов, которые захотят их изучать, и сосредоточиться на основных принципах модульности, параллельном и последовательном анализе стоимости, и прямой верификации работающего кода на первом курсе.
...Следуя словам моих коллег из MIT, студенты абсолютно влюбляются в программирование и в красоту кода, при условии что код который вы просите их написать, красив на самом деле. Нет ничего более мрачного, чем корпоративная бюрократия ООП, и мало вещей более привлекательных, чем математическая элегантность ФП.
-- Роберт Харпер
Выложил в СильныеИдеи два больших материала, где разбираем его подходы, хотя бы на уровне базового понимания.
Ну и в целом вся моя Школа построена по схемам Харпера и других святых computer science из лучших университетов мира -- обучаю фундаментальным принципам программирования.
Post #749
1.2K
- 👍 18
- 🔥 8
- ❤ 1