С чего начать ребёнку программировать?
Есть такое мнение, что практическое применение какого-либо яп в конечном итоге влияет на мышление человека...
Для начинающих лучшим решением пожалуй будет освоить первым - функциональный яп.
Почему функциональный ? Потому что функциональный яп не содержит "ничего лишнего" и тем самым поможет освоить суть алгоритмов и выработать соответствующее мышление, т.е. научит мыслить Логически.
Подводя итог вышесказанному начинающим программистам лучше начать с изучения одного из функциональных яп - Haskell или Scala, Lisp... 
А уже после можно переходить на яп С (Си), который поможет понять многие другие очень важные детали...
И уже освоив на достаточном уровне яп С можно переходить на другие яп (С++, Java, С#...)
Да, и ещё желательно (обязательно) освоить англ.яз и параллельно осваивать - Дискретную математику.
 Но учитывая возраст вашего ребёнка (7 лет) можете купить данную книгу:
www.ozon.ru/context/detail/id/32092949
А если интересует геймдев (разработка игр), то посмотрите тут:
https://thequestion.ru/questions/205745/chto-uchit...
https://habrahabr.ru/company/miip/blog/313326/
https://habrahabr.ru/post/319582/
https://dou.ua/lenta/articles/gamedev-for-programm...
Ну и видео:
https://www.youtube.com/playlist?list=PLR4wcBxrUGP...
- есть TigerJython (Python) специальная среда созданая для обучения программированию. Можно программировать Raspberry, NXT, писать  симуляции, рисовать, работать со звуком и пр. все это из коробки.
- есть LÖVE2D  (Lua) он заточен под разработку игр. Бонус-туториал 
- есть Gosu  (Ruby) Библиотека для разработки 2d игр
- есть DevelNext  (PHP) RAD - что-то типа дельфи. Еще и "наша" разработка. Впечатлило.
- можно написать свой мод для майнкрафта на Яве, в принципе там ничегои сложного, даже книжки про это есть.
-  или писать на яваскрипте игры BreakOut на JS в Canvas (developer.mozilla.org)
игры сейчас пишутся также как и раньше, в туториале oт mozilla очень хорошо все разложено.
Добавлю из собственного опыта, что очень полезно начать с определения требований к конечному продукту. Так можно будет прояснить наличие предрасположености к структурированому мышлению у ребенка , и если да, по итогам будет конкретная задача. Всем от этого будет только проще.