На мой взгляд математика и программирование связаны мало.
Еще в школе (ну да, физматшколе) у моего друга с математикой было не хуже чем у меня, а с программированием - никак. Школьная и институтская математика - увы - учат решать стандартные задачи стандартными методами.
Создание же даже просто алгоритма - это процесс творческий.
Ну на самом деле - в программировании же понятийных сущностей мало - переменные, ввод-вывод, циклы, функции, С++ как приятный бонус вкупе с RAD.
Если взять типичную программу - решение квадратного уравнение - то даже тут встретятся моменты творчества.
Как назвать переменные? Коэффициенты вводит пользователь или они жестко заданы? После окончания программы - всё, стоп или решаем еще одно? А если подсунули линейное уравнение, а не квадратное - как быть? А если уравнение задано в виде строки вида "2x^2+3x-10=0" - может такое решим?
Ну и так далее.
А какие-нибудь крестики-нолики запрограммировать - надо еще больше таких вопросов решить.
А математика как таковая вообще мало нужна - если нужно запрограммировать как спутник летит - то почитаете книжки по численным методам благо их нынче вагон - с точки зрения программирования - там все гиперпросто.
Как правило это программы вида считать данные, долго считать по сложным формулам, вывести результаты.
Да, есть некоторое количество знаний которое надо знать - типа что такое указатель и как он хранится, что не нежелательно сравнить переменную типа float с нулем, как хранятся массивы, и т.п.. ну это все в книжках по программированию есть.
Моя идея такая - старайтесь одну и ту же задачу по программированию решить РАЗНЫМИ способами - ну или обдумать хотя бы разные подходы.
О себе - с первого курса института работал в программисткой фирме. Пишу на С/С++ в его разных ипостасях, новомодных штучек типа Питона не знаю.