Как по-настоящему научить детей программированию?
Начинать нужно с графического канваса.
Потому, как результат работы алгоритма дети больше воспринимают визуально, нежели взрослые, используя отладчик (или вывод на экран значения переменных в текстовом виде).

Выводим сетку, и в нужной клетке сетки выводим квадрат. Вот тут сразу и переменные и циклы и визуально виден результат.
Сразу же учим составлять блок-схемы на бумаге!

Когда алгоритмизация и логика работы кода будет понятна - уходим из канваса в отладчик (а не в вывод на экран значений переменных!!!). 
Главное - сразу учить правильному использованию инструмента разработки!

Всё! Цель достигнута.

Дальше - учим новые  типы переменных и функции для работы с числами/текстом, рисуем блок-схемы на бумаге, чтобы была понятна сложная (для ребёнка!) логика.
После этого - можно постепенно давать объекты и строить простейшие игры: как текстовые, так и в канвасе.

Канвас - это самое важное средство поддержки мотивации ребёнка при изучении сложного нового материала: он наглядно видит результат своих усилий и может пробовать менять различные переменные и сопоставлять результат с изменениями, делать вывод и запоминать.

НО! нельзя канвасом(визуалом) часто злоупотреблять, иначе обучение превратится в "хочу, но не могу, потому, что не получается ничего..." и весь интерес к программированию будет попросту "задавлен" и вернуть его практически нереально.
действительно, некоторые школы в рекламе говорят о создании игр и даже об нейросетях и машинном обучении
тупо накидывают модных слов для родителей-лохов

а детям необходимо простейшее элементарное программирование в начале

вебкодер.рф - визуальный редактор кода для детей 12+
встроенный учебник, но недописан