Очные бесплатные, мне кажется, предполагают отбор детей и наличие базы. Мой начинал с бесплатных курсов STEPIK https://welcome.stepik.org/ru . Посмотрите, может подойдут: программирование на Python и введение а С++.(кстати, от Академии Яндекса). По итогам прохождения "введения в программирование С++" ребенок получает сертификат от Яндекса (ну, если все задания выполнит и не бросит  Соответственно потом ребенок может попробовать на олимпиадах себя и через годок на бесплатные курсы уже очные: в ЦДО ЦПМ на Новаторов, например, посмотрите http://cpm.dogm.mos.ru/upload/medialibrary/174/2.3.-osnovy-programmirovaniya_-paskal-i-si-_4-g-obuch_-2015_seregin_3.pdf . С 8 класса - в Яндекс Академию.