Как написать программу которая распознает речь на C++?
-Гармонический анализ, цифровая обработка сигналов, машинное обучение, практика физического эксперимента, некоторые разделы вычислительной лингвистики, математическая статистика и теория вероятностей - в качестве математической платформы (математики, которая программисту "не нужна")

-разработка высокопроизводителных приложений, многопоточная обработка на GPU, хранение данных - специальные разделы от общей информатики

-контейнеры, оптимизация алгоритмов, культура разработки программ на C++ - собственно, от C++
Лучше взять готовое что-либо вроде Vosk или Kaldi