Как наработать навык декомпозиции задач?
Добрый день!
Дано: Хочу перейти внутри компании в разработку (Java, backend).
Проблема: отсутствуют навыки декомпозиции и решения задач, не развито алгоритмическое и логическое мышление. Когда вижу задачу, то не знаю, с чего начать решение задачи и чем закончить. Не умею решать задачи. Хочу это исправить.
Вопрос: можете посоветовать какую-нибудь литературу по алгоритмизации и структурам данным, а также по основам программирования (программировать я пока не умею, а баловство в институте за навык не считаю, ибо там были безделушки)? Как я отметил выше, не умею решать и декомпозировать задачи. Вот смотрю на задачу, а с чего начать и чем закончить - не знаю. Раньше просто списывал (в школе, в институте) и ничему так не научился. Хочу это исправить и искоренить напрочь этот недуг.
Всех заранее благодарю!