Todos os programas de computador fazem alguma forma de contagem como uma pequena parte de uma tarefa. Contar cem itens não leva muito tempo, mesmo sem um computador. No entanto, alguns computadores podem ter que contar um bilhão de itens ou mais. Se a contagem não for feita de forma eficiente, pode levar dias para um programa terminar um relatório, quando deveria levar apenas alguns minutos. Por exemplo, a contagem dos números de loteria vencedores de todos os bilhetes de loteria deve envolver a interrupção da contagem de um bilhete quando o número mínimo de números corretos não puder ser alcançado naquele bilhete específico. Quando os números da loteria em cada bilhete são pré-classificados, a contagem pode ser muito rápida com uma estratégia de dividir para conquistar. O ramo da matemática chamado combinatória dá aos alunos a teoria necessária para codificar programas de contagem que incluem os atalhos que reduzirão o tempo de execução do programa.
Depois que uma contagem foi concluída, uma tarefa para fazer algo com o número real da contagem é necessária. O número de etapas necessárias para concluir uma tarefa deve ser minimizado para que o computador possa retornar um resultado mais rápido para um grande número de tarefas. Novamente, se uma tarefa precisar ser realizada apenas 20 vezes, não demorará muito, mesmo para o computador mais lento. No entanto, se a tarefa precisar ser executada um bilhão de vezes, um algoritmo ineficiente com muitas etapas pode levar dias em vez de horas para ser concluído, mesmo em um computador de um milhão de dólares. Por exemplo, há muitas maneiras de classificar uma lista de números não classificados do menor para o maior, mas alguns algoritmos executam muitas etapas, o que pode fazer com que o programa seja executado por muito mais tempo do que o necessário. Aprender a matemática por trás dos algoritmos permite que os alunos criem etapas eficientes em seus programas.
Problemas em computadores são muito maiores do que apenas contagem e algoritmos. A teoria dos autômatos estuda problemas que têm um número finito ou infinito de resultados potenciais de probabilidade variável. Por exemplo, computadores que tentam entender o significado de uma palavra com mais de uma definição precisam analisar a frase inteira ou até mesmo um parágrafo. Depois que todas as contagens e algoritmos da frase ou parágrafo forem feitos, regras para determinar a definição correta são necessárias. A criação dessas regras faz parte da teoria dos autômatos. As probabilidades são atribuídas a cada definição dependendo dos resultados da parte do algoritmo para o parágrafo. Idealmente, as probabilidades são de apenas 100 por cento e 0 por cento, mas muitos problemas do mundo real são complicados sem um resultado certo. O projeto de compiladores de computador, análise e inteligência artificial fazem uso intenso da teoria dos autômatos.