Математика Будущих программистов важно хорошо научить математике. Основные разделы:
- алгоритмы,
- дискретная математика и логика,
- линейная алгебра и аналитическая геометрия,
- математический анализ,
- теория вероятностей,
- математическая статистика.
Алгоритмы, дискретная математика и логика нужны уже при написании простых программ — чтобы понимать, как будет расти время работы программы при росте размера входных данных, когда можно два вложенных цикла заменить на один, как можно упростить условие в цикле и так далее. Более глубокие знания этих разделов математики пригодятся при реализации компиляторов, операционных систем и систем баз данных. Теория вероятностей и математическая статистика потребуются в таких областях, как анализ производительности ПО, биоинформатика, компьютерные сети. Наконец, чтобы заниматься машинным обучением или компьютерными играми, понадобится неплохо знать все перечисленные области, а также алгебру и математический анализ.