Kondisi seperti keterbatasan kemampuan penyimpanan data dan prosedur pemrograman yang terlalu mendetail dan berbelit-belit membatasi tingkat kompleksitas algoritma yang diterapkan pada mesin-mesin komputer awal.
Tetapi seiring dengan hilangnya keterbatasan ini, mesin komputer semakin mampu menangani tugas-tugas yang kian besar dan kompleks. Karena upaya-upaya untuk mengekspresikan komposisi tugas-tugas ini memerlukan kemampuan berpikir manusia, semakin banyak pula penelitian yang ditujukan untuk mengkaji algoritma dan proses pemrograman.
Ilmu komputer telah memantapkan posisinya sebagai ilmu algoritma. Ruang lingkup pengetahuan ini cukup luas, dengan mengambil gagasan dari beragam subyek lainnya seperti matematika, rekayasa teknik, psikologi, biologi, administrasi bisnis, dan linguistik. Sangatlah penting untuk membedakan antara ilmu komputer dengan aplikasi ilmu komputer.