значи колега, от толкова много материали ще те заболи глава и не знам какво ще разбреш, за да избереш :)
задайте си първо някакви критерии, какво искате да стане и тогава се концентрирай върху нещо, защото чуждото мнение е подвеждащо ... все пак се очаква, твоят син да хареса и изпита удоволствие от работата.
Ще ти спомена 3 неща от практиката, така доколкото аз съм ги видял (макар и да не мога да кажа, че съм програмист) пък нека програмистите ме оборят ако бъркам:
1. програмирането се учи с практика, четенето е 10%, ползването на помощни средства, четенето на форуми, новини и тн е половината работа, другата половина е коденето, ама ти сам, нещо като с шофьорлъка е, баща ми едно време ми каза, че докато не мина сам 100 000 км не съм никакъв шофьор ... и е прав.
2. най-важното е да му хареса, ако не е имал вземане даване с програмирането е малко вероятно като го хвърлиш в дълбокото да се научи да плува сам, докато ОО езици са удобна "примамка", после той сам ще си прецени дали да влиза на дълбоко или да си остане с тях, работа има за всички.
3. прецени с какви материали реално разполагате, защото това може също да ви подхлъзне. Избери нещо което предлага сравнително пълен курс на обучение, въвеждане или както там го наречеш, щото процеса на самообучение е безкраен :)
Не случайно ти споменах Телерик, щото хората създават реални неща. Имам познати там, както и такива започнали от нищото.
http://www.introprogramming.info/Та тези книги са техен продукт (имат ги и на видео лекции) и в известна степен са нещо проверено и работещо. Можеш да потърсиш и чужди мнения за тях. Като цяло има много малко книги с леснодостъпно за разбиране съдържание, по които можеш да се научиш. В тези специално е пълно и с примери и тн. неща от практиката.
Друго, ако искаш все пак да започнеш от нула в дълбокото, пробвай с това:
https://itunes.apple.com/us/itunes-u/introduction-to-computer-science/id341597455видео лекции от МИТ (Massachusetts Institute of Technology) един от най-добрите в света в тази сфера.