Я пытался своего старшего обучать основам функционального программирования (в терминологии, понятной ему, это было примерно в возрасте 7 лет). Он воспринимал на ура. Мы дошли до «волшебных коробочек», в которые надо класть другие волшебные коробочки (функции высшего порядка). Потом у меня родился второй сын, мне стало немного не до этого.
Но как-то раз я пытался рассказывать про низкоархитектурные вещи (это было в районе 8 лет). Сын, похоже, вообще не понимал, что я ему пытаюсь донести. А вот идею о символьной манипуляции, где 0 и 1 — просто наши названия двух выделенных состояний, воспринял очень живо.