Математика не главное. Она, конечно, нужна, как часть общего образования, и обычно никаких проблем с ней у программистов не возникает. Очень серьезная математика нужна математикам, которые будут задачи ставить. Программистам надо только понять ход решения этих задач, которые уже решили за них математики. Вот для этого им математика нужна. А так, в основном, программистам нужна логика. Причем врожденная. Этому нельзя научить, это с рождения. В детском саду все дети ложатся спать, тихий час. Я под одеялом решаю механическую головоломку. Я специально взяла ее в сад, потому что не могу ее бросить, пока не решу, иначе это будет меня мучить. Уже в таком возрасте, 6-7 лет, это проявляется. Нельзя этому научить. Так же, как нельзя, например, научить писать картины человека без способностей. Нет, он конечно будет писать, если его долго тренировать, но что это будут за картины? Страшно представить