Как научится программировать(именно как развивать алгоритмическое мышление, а не учить языки которые без умений составлять архитектуру программы бесполезны)?
Математические задачи решать, а то как же по другому. Изучать математику, так как иногда все есть в библиотеках, а знать не будете о методах, если математику не изучили и библиотеки не изучили.
У меня есть мнение, что "развить" не получится. Мышление труднее поддаётся тренировке, чем мышцы. Природа, с чем родился, то потом и помогает по жизни.
Тут выше про математику, но с ней такая же шляпа. Кому-то она поддаётся, но есть и остальные
Школьный курс придаёт оптимизм. Если методисты внедрили ИКТ с основами программирование в школе, возможно, они что-то знают
Это чистая математика. Причём её надо не только (и иногда не столько) знать, сколько понимать. Тупо заучить и всё не поможет, надо вдумываться, разбираться что откуда получается, почему именно так, а не иначе
Ещё полезна будет книжка "Тигриная алгебра". Задачи в ней, как покажется, далеки от математики, но на деле там сплошная математическая логика. Задачки вполне себе расписываются на языке того раздела математики