Если ваше - прикладная математика, вы должны знать это со школьной скамьи, в принципе. Это - самая общая, классическая база для программиста.
Если вы оставили себе достаточно времени для принятия решения, то можете посмотреть литературу и попробовать что попроще - у себя на компьютере.
Ассемблер (Ассембли - грамотней, Ассемблер - связанная прога) - специфическая штука, к машинному коду ближе. Но ближе к "реальному времени" - очень нужно, учится в комплекте с С. Это - одна узкая специализация. Выбирать её, не попробовав писать сначала - довольно глупо.
Базы данных, SQL, RPG древний даже с прочими Коболами. Очень специфическая штука. Но вполне востребованная. Тоже ведь надо посмотреть, как все эти языки запросов к БД работают.
Объектно ориентированное программирование. C++, J++ и т.д. Есть там свои плюсы и минусы. Но не посмотрев, как работают классы, как всё это делается, выбирать не стоит.
Визуальные среды разработки. Для ламеров - с Вижуал Бэйсика. Далее - Паскаль (кто-нибудь ещё пользуется), С, С шарп и прочая. Ориентация на пользовательские интерфейсы.
Компьютерная графика? Знаете, без прикладной математики, как базы - это не очень хорошо.