Minden számítógépes program valamilyen módon számol a feladat kis részeként. A száz tétel megszámlálása számítógép nélkül sem tart sokáig. Egyes számítógépeknek azonban egymilliárd vagy annál több elemet kell számolniuk. Ha a számlálást nem hajtják végre hatékonyan, napokba telhet, mire a program elkészíti a jelentést, amikor csak percekbe telik. Például az összes sorsjegy nyerő lottószámának megszámlálásának magában kell foglalnia a jegyszámolás leállítását, ha az adott jegyen nem lehet elérni a helyes számok minimális számát. Ha az egyes jegyek lottószámait előválogatják, akkor a számlálás nagyon gyors lehet az osztás és meghódítás stratégiával. A kombinatorikának nevezett matematikai ág a hallgatóknak megadja az elméletet, amely a számlálási programok kódolásához szükséges, amelyek tartalmazzák azokat a rövidítéseket, amelyek csökkentik a program futási idejét.
A számlálás befejezése után szükség van egy feladatra, hogy tegyen valamit a számlálás tényleges számával. A feladatok elvégzéséhez szükséges lépések számát minimalizálni kell, hogy a számítógép gyorsabban visszaadhassa az eredményt nagyszámú feladat esetén. Ismételten, ha egy feladatot csak 20-szor kell elvégezni, akkor a leglassabb számítógép esetében sem tart sokáig. Ha azonban a feladatot milliárdszor kell elvégezni, akkor a túl sok lépést tartalmazó, nem hatékony algoritmus akár több millió dolláros számítógépen is órák helyett napokat vehet igénybe. Például sokféleképpen rendezheti a nem rendezett számok listáját a legalacsonyabbtól a legmagasabbig, de egyes algoritmusok túl sok lépést tesznek meg, ami miatt a program a szükségesnél sokkal tovább fut. Az algoritmusok mögötti matematika elsajátítása lehetővé teszi a hallgatók számára, hogy hatékony lépéseket hozzanak létre programjaikban.
A számítógépek problémái sokkal nagyobbak, mint a számlálás és az algoritmusok. Az automaták elmélete olyan problémákat vizsgál, amelyeknek véges vagy végtelen sok lehetséges változó valószínűségű kimenetele van. Például azoknak a számítógépeknek, amelyek egynél több definícióval próbálják megérteni a szó jelentését, elemezni kell a teljes mondatot vagy akár egy bekezdést. A mondat vagy a bekezdés összes számlálásának és algoritmusának elvégzése után szabályokra van szükség a helyes meghatározás meghatározásához. E szabályok létrehozása az automaták elméletének része. Valószínűségeket rendelünk az egyes definíciókhoz, a bekezdés algoritmusának eredményétől függően. Ideális esetben a valószínűség csak 100 százalék és 0 százalék, de sok valós probléma bonyolult, bizonyos kimenetel nélkül. A számítógépes fordítótervezés, az elemzés és a mesterséges intelligencia erősen kihasználja az automaták elméletét.