Предисловие: далее будет лично мой опыт и скорее всего не верный, но тем не менее я тут и работаю по специальности.
Для начала книги лично мне не помогли, начинал я в 14 лет и переварить тяжёлую терминологию и вбросы сложных терминов было просто не возможно. Для себя я тогда нашёл другой выход, начал смотреть полноценные университесткие лекции, уже не помню где их взял взял, вроде бы пиратил платные, благо мои 14 лет были не так уж и давно, и интернет тогда уже был неплохой. Лекции по 4-6 часов пересмотрел их штук 50, от базового до повышеного уровня. Преподаватель начинал с самых самых азов, к примеру, лекция по переменным начиналась с разбора принципа работы оперативной памяти. Курсы те были по конкретному языку, вроде C#. Но затрагивалось в них всё, и благо в языке куча всего были и классы, и интерфейсы, и потоки.
В общем я советую, именно видео лекции, лучше искать не на ютубе, там много уроков рассчитаны на опытного человека, лучше искать на сайтах по лекциям.