Если мы говорим о глобальном изучении программирования, не залезая в дебри ЯП, то - знания которые никогда не обесценятся и будут вам только на руку:
1. Логическое мышление: книги по логике\алгоритмы
2. Абстрактное мышление.
3. Основной фундамент: Логика, теория множеств, дискретная математика
Система счисления, алгоритмы, структуры данных
Парадигмы: Декларативное, имеративное, логическое программирование
Железо: Основная архитектура компьютера
Софт: Сети, протоколы, ОС, компиляторы\интерпретаторы
Все остальное добирается в процессе работы, или копания глубже вашей среды.
Ну и конечно, как сказали выше, английский - святая святых, 70% информации(если не больше) - в англ. сегменте веба\книг