Všechny počítačové programy počítají jako malou část úkolu. Počítání sto položek netrvá dlouho, a to ani bez počítače. Některé počítače však možná budou muset počítat miliardu položek nebo více. Pokud počítání neprobíhá efektivně, může trvat několik dní, než program dokončí zprávu, když by to mělo trvat jen několik minut. Například počítání výherních čísel loterií všech loterijních tiketů by mělo zahrnovat zastavení počtu tiketů, když na daném tiketu nelze dosáhnout minimálního počtu správných čísel. Když jsou čísla loterií na každém tiketu přednastavena, počet může být velmi rychlý se strategií rozděl a panuj. Odvětví matematiky zvané kombinatorika dává studentům teorii potřebnou k programování počítání kódů, které obsahují zkratky, které sníží dobu běhu programu.
Po dokončení počítání je potřeba provést něco se skutečným počtem z počítání. Počet kroků potřebných k dokončení úkolu by měl být minimalizován, aby počítač mohl rychle vrátit výsledek pro velký počet úkolů. Opět platí, že pokud je třeba úkol provést pouze 20krát, nebude to trvat dlouho ani pro nejpomalejší počítač. Pokud je však úkol třeba provést milionkrát, může neúčinný algoritmus s příliš mnoha kroky trvat dny, nikoli hodiny, dokonce i na počítači za milion dolarů. Například existuje mnoho způsobů, jak seřadit seznam netříděných čísel od nejnižšího po nejvyšší, ale některé algoritmy provádějí příliš mnoho kroků, což může způsobit, že program bude fungovat mnohem déle, než je nutné. Učení matematiky za algoritmy umožňuje studentům vytvářet efektivní kroky ve svých programech.
Problémy v počítačích jsou mnohem větší než jen počítání a algoritmy. Teorie automatů studuje problémy, které mají konečný nebo nekonečný počet potenciálních výsledků s různou pravděpodobností. Například počítače, které se snaží porozumět významu slova s více než jednou definicí, by musely analyzovat celou větu nebo dokonce odstavec. Po dokončení všech počítání a algoritmů ve větě nebo odstavci jsou potřebná pravidla pro určení správné definice. Vytvoření těchto pravidel je součástí teorie automatů. Pravděpodobnosti jsou přiřazeny každé definici v závislosti na výsledcích části algoritmu pro odstavec. V ideálním případě jsou pravděpodobnosti pouze 100 procent a 0 procent, ale mnoho problémů v reálném světě je komplikovaných bez jistého výsledku. Design počítačových kompilátorů, syntaktická analýza a umělá inteligence velmi využívají teorii automatů.