Я в прошлом разработчик. Поработал во многих ведущих ИТ-компаниях России. После того, как был разработчиком, работал системным аналитиком, продуктовым менедежром. Лет 12-15 назад начал увлекаться вопросами обучения детей математике. Писал даже года 3 назад на Хабре статью о том, как это мое хобби превратилось в профессию. Теперь это еще и область научных интересов: поступил в аспирантуру на мехмат МГУ на кафедру методики преподавания математики.
В нашем коллективе на мехмате существенная часть внимания сейчас прикована к явленим глубокого структурного изменения взглядов школьника на математику (например, осознание, что от числа можно перейти к переменной, или понимание, что уравнения и неравенства - это одно и то же, с точки зрения логики). У меня на этот счет есть своя теория, которую я частично заимствовал у своего научного руководителя и развил. Теория заключается в том, что задача начальной школы и первой части средней - это осваивать алгоритмы решения различных задач. Т.е. нужно уметь обосновывать каждый шаг алгоритма, но не обязательно уметь находить следующий шаг (достаточно помнить последовательность шагов). К середине средней школы алгоритмов накапливается критическая масса, и школьнику с организацией знаний на основании алгоритмов становится тяжело. Алгоритмы все больше и больше ветвятся, изменяют область своего применения и множатся. И в какой-то момент алгоритмы начинают рваться на шаги, а организация знаний начинает смещаться от алгоритмов к отношениям математических сущностей. Отношения - более оптимальная структура организации знаний. Она отлично работает там, где есть постоянные измнения структуры. Также она оптимальна для организации мышления исследователя. А очень часто дети в началке пропускают обоснование шагов алгоритма и, естественно, имеют проблемы с расчленением алгоритмов на части и формированием математических отношений. И, как следствие, им остается только все продолжать зубрить. Вот пост в моем тг-канале о том, как это прогрессирующее заболевание тянется и меняет представление об обучении.
Пример. Можно воспринимать примеры "2 + 3 = 5", "2 = 5 - 3" и "3 = 5 - 2" по отдельности, тогда знак равно будет знаком дейсвтия. А можно как одно отношение между числами 2, 3 и 5, например, 2 + 3 = 5. А вот тут теперь знак равно имеет смысл тождества.
Развивая теорию, которая могла бы описать такие переходы от алгоритмов к отношениям и которая могла бы быть основной для построения педагогических методик, я вдруг вспомнил, где я это все видел!!!! Функциональное программирование и ООП!!! У каждой из этих двух парадигм есть свои плюсы и минусы. Функциональная хороша для освоения, для быстрого создания чего-то небольшого, для кодирования чего-то большого, когда есть высокая степень определенности, а планируемые изменения не слишком велики. ООП - хорошо, когда планируются структурные изменения. По крайней мере, так было лет 10 назад. А структурные изменения - это именно то, что происходит при изучении математики в средней и старшей школе и далее.