например "изучаем Python" в жёлтой обложке книга, или из серии Head First, лучше учить высокоуровневые языки типа Питон, Джава Скрипт, по мере опыта можно углубляться в низкоуровневые. В противном случае это окажется сложным делом, зато потом легче освоить все остальные языки JavaScript тесно связан с веб-разработкой, т. е вёрсткой, поэтому важно понимать строение сайта, его разметку html и стили оформления css.
Начинать надо с качественного учебника программирования. Главное - не путать учебник программирования и учебник языка программирования. Язык программирования нужен только для того, чтобы записать найденное решение задачи (т. е. алгоритм) в понятном компьютеру виде. И никакое знание языков не научит поиску этих решений - как знание алфавита не научит сочинять стихи. И ни в коем случае не смотреть лекции на ютубе: подавляющее большинство из них (в том числе и широко разрекламированных) клепается откровенными неучами. А чтобы отделить полезную информацию от откровенного бреда, надо уже обладать знаниями.
C знания всего школьного курса геометрии и алгебры на отлично. Хотя математика в программирование немного другая. Но это будет говорить о твоем образе мышления.... Станешь ли ты хорошим программистом, или программистом ниже среднего.