Начинать полюбому с практики. Это в разы лучше по всем параметрам:
Занимаясь практикой, ты неизбежно учишь теорию
Ты не только узнаешь, что такое массив, но и ЗАЧЕМ он существует в этом мире
Практика формирует из тебя человека дела, а не любителя волейбола
С практикой ты достигаешь целей, которые можно пощупать или увидеть, а значит мотивация сама по себе (без психотренингов) будет несоизмеримо сильнее чем «завтра я выучу еще 2 новых термина и буду знать 2 новых термина, офигеть».
Стресс и дофамин от ожидания антилопы у водопоя сделают твое зрение острым, пальцы, бьющие по клаве - точными и быстрыми и память твоя будет запоминать все: как ты тратишь 3 часа на поиск решения проблемы и, как ты ее решаешь.
В теории память работает только в результате самоизнасилования т.к. мозг твой не дурак и не будет тратить драгоценные ресурсы на качественное запоминание того, что и так есть в книге. И да - данное понимание неизбежно приходит с развитием логики, которая также развивается исключительно в процессе практики программирования. Поэтому:
Основы, алгоритмы, проектирование. Как начать?
Легко. Бери Laravel и php неизбежно подтянется в процессе)