Visos kompiuterinės programos tam tikru būdu skaičiuoja kaip mažą užduoties dalį. Šimtą daiktų suskaičiuoti nereikia ilgai, net ir be kompiuterio. Tačiau kai kuriems kompiuteriams gali tekti suskaičiuoti milijardą ar daugiau daiktų. Jei skaičiavimas nėra atliktas efektyviai, gali praeiti kelios dienos, kol programa užbaigs ataskaitą, kai tai turėtų užtrukti tik kelias minutes. Pavyzdžiui, skaičiuojant visų loterijos bilietų laimėtus loterijos numerius, bilietų skaičiavimas turėtų būti sustabdytas, kai negalima pasiekti minimalaus teisingo skaičiaus skaičiaus ant konkretaus bilieto. Kai kiekvieno bilieto loterijos numeriai yra iš anksto sureguliuoti, suskaičiuoti ir užkariauti strategija gali būti labai greita. Matematikos šaka, vadinama kombinatorika, suteikia studentams teoriją, reikalingą kodų skaičiavimo programoms, įskaitant trumpinius, kurie sutrumpins programos vykdymo laiką.
Baigus skaičiavimą, reikia užduoties ką nors padaryti su faktiniu skaičiumi nuo skaičiavimo. Reikėtų sumažinti užduočių atlikimui reikalingų veiksmų skaičių, kad kompiuteris galėtų greičiau grąžinti daugelio užduočių rezultatą. Vėlgi, jei užduotį reikia atlikti tik 20 kartų, net ir lėčiausiam kompiuteriui ilgai neteks. Tačiau jei užduotį reikia atlikti milijardą kartų, neefektyvus algoritmas, turintis per daug veiksmų, gali užtrukti kelias valandas, o ne valandas, net ir milijoniniame kompiuteryje. Pavyzdžiui, yra daugybė būdų, kaip rūšiuoti nerūšiuotų skaičių sąrašą nuo mažiausio iki didžiausio, tačiau kai kurie algoritmai atlieka per daug žingsnių, todėl programa gali veikti daug ilgiau nei būtina. Išmokę algoritmų matematikos, studentai gali sukurti efektyvius žingsnius savo programose.
Kompiuterių problemos yra daug didesnės nei tik skaičiavimas ir algoritmai. Automatų teorija tiria problemas, turinčias ribotą arba begalinį galimo įvairios tikimybės rezultatą. Pavyzdžiui, kompiuteriams, bandantiems suprasti žodžio prasmę, turint daugiau nei vieną apibrėžimą, reikės išanalizuoti visą sakinį ar net pastraipą. Atlikus visus sakinio ar pastraipos skaičiavimus ir algoritmus, reikalingos taisyklės teisingam apibrėžimui nustatyti. Šių taisyklių sukūrimas yra automatų teorijos dalis. Kiekvienam apibrėžimui priskiriamos tikimybės, atsižvelgiant į pastraipos algoritmo dalies rezultatus. Idealiu atveju tikimybė yra tik 100 proc. Ir 0 proc., Tačiau daugelis realaus pasaulio problemų yra sudėtingos, be tam tikrų rezultatų. Kompiuterių kompiliatorių projektavimas, analizavimas ir dirbtinis intelektas labai naudoja automatų teoriją.