Читать учебники программирования. Можно начать с Вирта или Кормена. Но лучше, с них обоих.
Читать учебники дискретной математики. Например, начать с "Конкретной математики".
P.S. На Ютубе учат писать типовой код и не учат программировать. Но написание кода - лишь предпоследний этап в работе программиста.