Школьную класса так до 8-9. Как минимум - алгебру и (очень желательно) декартовы координаты. Еще очень неплохо знать системы счисления, булеву алгебру и теорию алгоритмов, это реально используется, хотя можно и без них (вопрос, будет это программист или быдлокодер, оставим в стороне). Все остальное зависит от прикладной области, где программист будет работать.