Что значит базовая математика для программиста?
Надо усвоить:
1. ВУЗовские учебники по высшей математике: матрицы, линейная алгебра, вектора.
2. Лафоре: Хэши, деревья, O(n)
3. Вузовские учебники по статистике: гистограммы, баес, вероятности, монте-карло, 
4. Нейронные сети - тут недавно был прорыв, надо взять книгу поновее.
5.  ВУЗовский учебник по мат.логике, чтобы знать вещи типа !(a&b) = a||b
6. ВУЗовский учебник по вычислительной математике: метод наискорейшего спуска и т.д.
Надо знать в общем  виде, что это всё такое и глубже копать там, где идёт реальная работа.  AI - нейронные сети, графика - значит матрицы.
Удачи!
Теория множеств, матлогика. Позволяют научиться рассуждать о типах и корректности программ (инвариант цикла и тп).
Анализ и комбинаторика, что бы уметь рассуждать о сложности алгоритма (O(n), асимптотика).
Линейная алгебра - помогает лучше понять работу с коллекциями, а так же очень нужна в модном машинном обучении.