Главное что надо знать перед поступлением в университет на программиста - а точно ли тебе подходит эта специальность? Уже много раз писал что это не ядерная физика и не проектирование субмарин. Т.ч. узнать это до поступления, а не после окончания, можно и нужно. Для чего изучить любой более-менее современный и популярный язык программирования. А также стек сопутствующих технологий к нему. До такого уровня, чтобы попробовать написать уже не задачку из учебника, а что-то близкое к реальности. А еще лучше реальное.
Если получится - у тебя будет совершенно другой настрой и мотивация учиться. Если не получится на одном языке - не страшно. И у профессионалов бывает, что какой-то язык "не зашел". Если не получится на нескольких разных языках - серьезный повод задуматься.
В ВУЗе теоретики учат теории. Это исключительно полезные знания для профессионала среднего и выше уровня. Но чтобы достигнуть того уровня когда фундаментальная теория станет тебе действительно полезной, практику придется нарабатывать в значительной степени или вообще полностью самому. Это уж как с ВУЗом повезет. И если начнешь еще в школе - точно хуже от этого не будет.
Из прочих предметов. Английский. С математикой вот какая ситуация. Любишь математику - хорошо, пригодится. Не любишь - найдешь область программирования где нужна только арифметика. Более того, сейчас большинство программистов в России работают именно на таких проектах. Но математика на хорошем уровне тебе будет нужна чтобы окончить универ.