Никакие.
Достаточно уметь складывать, делить, умножать, вычитать.
Дроби.
Даже квадратный корень и степени - могут вообще за неколько лет не пригодится ни разу.
С другой стороны, если вы делать будете какую нибудь игрульку, вам пригодятся аффинные преобразования, умножения матриц и пр.
Но это несложно и учится за пару недель.
С третьей стороны, если вы будете работать над каким нибудь распознаванием речи (причем не использовать готовую библиотеку, а именно разрабатывать свою, то тут вам понадобится и быстрое преобразование Фурье хотя бы понимать про что оно). Но это только если вы будете работать где нибудь в серьезном отделе фундаментальных разработок Яндекса или Гугля или Фейсбука.
Для понимания логических операций в программировании дискретная математика и теория множеств нафиг не нужна. Хотя они и связаны друг с другом.
Логарифмы нужны только для понимания оценок сложности алгоритмов. Но суть знать не надо, достаточно интуитивно понимать что экспонента - это дофига.
Математическая вышка нужна для:
1) Дисциплины мозга. Но программирование дисциплинирует не хуже.
2) Для разработки фундаментальных алгоритмов криптографии, ключевых алгоритмов серьезных игровых движков и подобных редких вещей. То есть не пригодится 99,99% пррограммистов никогда в жизни.
С другой стороны, если ты не спешишь работать, то ВУЗ я настоятельно рекомендую. Это интересно и полезно для ОБЩЕГО развития.