Все компьютерные программы в той или иной форме выполняют счет как небольшую часть задачи. Подсчет ста предметов не займет много времени даже без компьютера. Однако некоторым компьютерам, возможно, придется насчитать миллиард элементов или больше. Если подсчет ведется неэффективно, программе может потребоваться несколько дней, чтобы завершить отчет, тогда как это займет всего несколько минут. Например, подсчет выигрышных номеров лотереи для всех лотерейных билетов должен включать остановку подсчета билетов, когда не может быть достигнуто минимальное количество правильных номеров для этого конкретного билета. Когда номера лотереи на каждом билете предварительно отсортированы, счет может быть очень быстрым с помощью стратегии «разделяй и властвуй». Раздел математики, называемый комбинаторикой, дает студентам теорию, необходимую для кодирования программ подсчета, которые включают в себя короткие пути, которые уменьшат время выполнения программы.
После завершения подсчета требуется задача сделать что-то с фактическим числом из подсчета. Количество шагов, необходимых для выполнения задачи, должно быть минимизировано, чтобы компьютер мог быстрее возвращать результат для большого количества задач. Опять же, если задачу нужно выполнить всего 20 раз, это не займет много времени даже на самом медленном компьютере. Однако, если задачу нужно выполнить миллиард раз, неэффективный алгоритм со слишком большим количеством шагов может занять дни, а не часы, даже на компьютере стоимостью в миллион долларов. Например, есть много способов отсортировать список несортированных чисел от наименьшего к наибольшему, но некоторые алгоритмы требуют слишком много шагов, что может привести к тому, что программа будет работать намного дольше, чем необходимо. Изучение математики, лежащей в основе алгоритмов, позволяет учащимся создавать эффективные шаги в своих программах.
Проблемы в компьютерах намного больше, чем просто подсчет и алгоритмы. Теория автоматов изучает проблемы, которые имеют конечное или бесконечное количество потенциальных результатов с различной вероятностью. Например, компьютеры, пытающиеся понять значение слова с более чем одним определением, должны будут проанализировать все предложение или даже абзац. После того, как все подсчеты и алгоритмы в предложении или абзаце выполнены, необходимы правила для определения правильного определения. Создание этих правил является частью теории автоматов. Вероятности присваиваются каждому определению в зависимости от результатов части алгоритма для абзаца. В идеале вероятности составляют всего 100% и 0%, но многие реальные проблемы являются сложными и не имеют определенного результата. Дизайн компьютерных компиляторов, синтаксический анализ и искусственный интеллект широко используют теорию автоматов.