В первую очередь, что предстоит изучить и понять - это алгоритмы и логика работы приложений. Вам необходимо научиться пошагово раскладывать любую ситуацию.
Например, вам необходимо смоделировать поход студента в магазин за хлебом. Первое, что нужно учесть в решении этого вопроса - деньги. В магазине никто бесплатно хлеб вам не даст (во всяком случае, полагаться на это не стоит). У студента должна быть необходимая для покупки хлеба сумма.
Далее - маршрут. Обычно есть много вариантов пути. Представим, что один путь проходит через оживленную трассу, другой - через дворы. Какой путь короче? Где и какие препятствия подстерегают студента? Что делать, если вдруг до прихода в булочную, студент потеряет необходимую для покупки хлеба сумму?
Программирование - это прежде всего логика и алгоритмы.
Попробуйте почитать книгу Алгоритмы: построение и анализ (Томас Кормен).
Следующий вопрос, которым в современном мире информации нельзя пренебречь, это базы данных. Зачастую, база данных - самое узкое и самое важное место любого приложения. Неверно спроектированная база данных - очень существенный удар по любому конечному продукту. А утечка данных сравни катастрофе. Тонкости работы с базами данных, на мой взгляд, лучшим образом описаны в книге В. П. Агальцова "Базы данных".
Осилив два этих значимых раздела, вам предстоит столкнуться с выбором языка программирования. Но это уже совсем другая история. Если у вас в голове любая задача будет раскладываться в пошаговый мануал + вы знаете, как под это все сделать правильную базу данных, проблемы с синтаксисом языка не столь существенны.