Показать сообщение отдельно
  #9 (permalink)  
Старый 06.05.2015, 23:00
Аватар для Makarov
Профессор
Отправить личное сообщение для Makarov Посмотреть профиль Найти все сообщения от Makarov
 
Регистрация: 08.07.2013
Сообщений: 212

Самый простой способ научиться решать задачи - это решать задачи. На лоу уровне ничего лучше мне неизвестно. Способности формализовывать задачи и оперировать большой цикломатической сложностью можно тренировать и искуственно, но я не знаю как делать это достаточно эффективно.

Паттерны - это уже имхо advanced уровень, когда ты умеешь нормально писать на каком-то языке и озабочен всякими архитектурными задачами и взаимодействием с другими разработчиками.

Теперь про алгоритмическую подготовку.Нужно понимать одну вещь: алгоритмическая подготовка - вещь безусловно очень полезная для программирования, но в основном потому что она мозги шевелиться заставляет. Для работы хорошее знание тех или иных алгоритмов пригождается немногим. Если чисто для себя интересно - другое дело.

К конкретике:
Решение практических задач:
basic - любой задачник по информатике/учебник с задачами (в том числе учебник Кантора конечно), студенты набегающие в сессию на множество программистских форумов, работа
middle - работа

Паттерны:
basic - ненене!
middle - банда четырех

Алгоритмы:
Basic: Теория - мне понравилась 1я часть этого курса на курсере от того же автора. Она там где-то есть, просто искать лень).
Ну то есть это не basic-для идиотов, но достаточно понятно. Курса для идиотов по алгоримам мне неизвестно)
Практика: Идешь на topcoder.com, регишься, смотришь список задач на algorithm competition и пытаешься решить самые легкие из них.
Advanced - хз, я еще близко не адвансед, но думаю продолжение тех же алгокурсов и решение более сложных задач могут помочь

Хрена я много написал, мне бы это лень читать было
Ответить с цитированием