Сегодня хорошим подходом к обучению основам программирования являются всякие курсы робототехники, на которых дети учатся программировать роботов. Обычно для этого используются графические языки, похожие на Scratch. Плюс ребёнок видит, как его код влияет на объекты реального мира. Ну и сам Scratch - хорошее начало.