Как изучить программирование и развить абстрактно-логическое мышление?

Здравствуйте, коллеги!

Я сейчас работаю в IT. Начинал с помощника сисадмина, ныне работаю в хелпдеске. Желаю перейти в разработку на Java (backend). Сейчас обучаюсь. Чувствую, что тяжело что-то представлять. Тяжело в голове строить какие-то абстракции, модели и т.п. У меня плохо развито абстрактное мышление. Логическое мышление тоже не самого высокого уровня.

Что я начал делать: начал пытаться решать задачи на логику. Но такие задачи требуют смекалки и способность догадаться (что логично) до какого-то решения, оперируя данными. Но я не знаю с чего начать и чем закончить. В принципе, с любыми задачами у меня так. Вижу текст, прочитал. А с чего начать и чем закончить — вот и приехали... Тупик...

Вопрос 1: как развить абстрактно-логическое мышление? Ряд моих близких говорят, что такое мышление - врождённая особенность и если его нет, то это не развить. Я в корне не согласен и моё мнение противоположное.

Вопрос 2. Как изучить методику программирования? Многие твердят, что нужно учить не язык программирование, а учиться программировать. Но как? Язык - это инструмент, хорошо. Как же овладеть самим искусством программирования? Что нужно делать? Какие книги почитать? Я пробовал начать с "Грокаем алгоритмы" и с книги Никлауса Вирта по алгоритмам, но ничерта не понял. Читаю и, как говорится, "Смотрю в книгу, а вижу фигу"...

Благодарю за ответы и советы.

3
2 комментария