Чтобы стать высококвалифицированным программистом, желательно и получить вузовское образование, и в то же время обучаться самостоятельно. Утром программировать в институте, вечером на работе, а ночью дома. Только так можно не отставать от потока профессиональной информации в IT.
Если же вы не ставите своей целью конкурировать с лучшими программистами, а хотите просто как-либо трудоустроиться по специальности, то подойдёт любой вариант.
Только математика?