Alle Computerprogramme führen eine Form des Zählens als kleinen Teil einer Aufgabe durch. Hunderte zu zählen dauert auch ohne Computer nicht lange. Einige Computer müssen jedoch möglicherweise eine Milliarde Elemente oder mehr zählen. Wenn die Zählung nicht effizient durchgeführt wird, kann es Tage dauern, bis ein Programm einen Bericht fertigstellt, obwohl es nur Minuten dauern sollte. Zum Beispiel sollte das Zählen der Lottogewinnzahlen aller Lotterielose das Stoppen einer Loszählung beinhalten, wenn die Mindestanzahl der richtigen Zahlen auf diesem bestimmten Los nicht erreicht werden kann. Wenn die Lottozahlen auf jedem Los vorsortiert sind, kann das Zählen mit einer Teile-und-Eroberungs-Strategie sehr schnell erfolgen. Der Zweig der Mathematik, der Kombinatorik genannt wird, vermittelt den Schülern die Theorie, die für Codezählprogramme erforderlich ist, die die Abkürzungen enthalten, die die Laufzeit des Programms reduzieren.
Nachdem eine Zählung abgeschlossen wurde, ist eine Aufgabe erforderlich, um etwas mit der tatsächlichen Zahl aus der Zählung zu tun. Die Anzahl der Schritte, die zum Ausführen einer Aufgabe erforderlich sind, sollte minimiert werden, damit der Computer für eine große Anzahl von Aufgaben schneller ein Ergebnis zurückgeben kann. Auch wenn eine Aufgabe nur 20 Mal ausgeführt werden muss, dauert es selbst für den langsamsten Computer nicht lange. Wenn die Aufgabe jedoch eine Milliarde Mal durchgeführt werden muss, kann ein ineffizienter Algorithmus mit zu vielen Schritten sogar auf einem Millionen-Dollar-Computer Tage statt Stunden dauern. Es gibt beispielsweise viele Möglichkeiten, eine Liste unsortierter Zahlen von der niedrigsten zur höchsten zu sortieren, aber einige Algorithmen benötigen zu viele Schritte, was dazu führen kann, dass das Programm viel länger als nötig läuft. Das Erlernen der Mathematik hinter Algorithmen ermöglicht es den Schülern, effiziente Schritte in ihren Programmen zu erstellen.
Probleme in Computern sind viel größer als nur Zählen und Algorithmen. Die Automatentheorie untersucht Probleme, die eine endliche oder unendliche Anzahl potenzieller Ergebnisse mit unterschiedlicher Wahrscheinlichkeit haben. Computer, die beispielsweise versuchen, die Bedeutung von Wörtern mit mehr als einer Definition zu verstehen, müssten den gesamten Satz oder sogar einen Absatz analysieren. Nachdem alle Zählungen und Algorithmen für den Satz oder Absatz abgeschlossen sind, werden Regeln benötigt, um die richtige Definition zu bestimmen. Die Erstellung dieser Regeln ist Teil der Automatentheorie. Wahrscheinlichkeiten werden jeder Definition in Abhängigkeit von den Ergebnissen des Algorithmusabschnitts für den Absatz zugewiesen. Im Idealfall liegen die Wahrscheinlichkeiten nur bei 100 Prozent und 0 Prozent, aber viele reale Probleme sind ohne sicheres Ergebnis kompliziert. Computer-Compiler-Design, Parsing und künstliche Intelligenz machen intensiven Gebrauch von der Automatentheorie.