Если бы я строил полную учебную программу по computer science, то мат основа там была бы примерно такая:
-
Логика и дискретная математика. Тут же основы теории множеств и теории чисел. Эти штуки можно изучать в изоляции от всего остального, многим даже далеким от математики эти темы нравятся (особенно теория чисел), и эта среда хорошо подходит для привыкания к мат. доказательствам, индукции и пр.
-
Мат анализ. Не критично, но как минимум для тренировки мозга очень важный курс, можно экспрессом.
-
Линейная алгебра. Сильно зависит от будущих целей. Если интересна графика, игры, виртуальная реальность — то линейная алгебра обязательна. Но если нет — то как минимум экспрессом один курс желателен. Отлично вправляет мозги, развивает абстрактное мышление, очень важное в программировании в целом. Представлять себе многомерные структуры и их взаимосвязь — это очень круто. Главное в линейке не попасться в ту же ловушку, в которую попадаются при изучении мат. анализа: в этих штуках можно запомнить механически прав