Algoritme
Algoritme bisa diklasifikasikan berdasarkan jumlah waktu yang dibutuhkan untuk selesai dibandingkan dengan ukuran inputnya. Ada berbagai varietas: beberapa algoritme selesai dalam waktu linear relatif terhadap ukuran input, beberapa selesai dalam jumlah waktu yang eksponensial atau lebih buruh, dan beberapa berhenti. Sebagai tambahan, beberapa masalah bisa memiliki berbagai algoritme dengan kompleksitas yang berbeda, sementara permasalahan yang lain bisa saja tidak memiliki algoritme atau tidak diketahui algoritmanya yang efisien. Ada juga pemetaan dari beberapa algoritme terhadap permasalahan lain. Karena itu, lebih cocok untuk mengklasifikasikan permasalahan itu sendiri bukannya algoritme menjadi kelas-kelas yang sama berdasarkan kompleksitas dari kemungkinan algoritme terbaik baginya.
Olimpiade Internasional dalam Informatika
Kompetisi berlangsung selama dua hari untuk tes pemrograman komputer dan pemecahan masalah alam algoritmik. Untuk menangani masalah yang melibatkan data yang sangat banyak, tidak hanya diperlukan pemrogram, "tetapi juga pengkode yang kreatif, yang bisa memimpikan apa yang pemrogram perlu memberitahu komputer untuk melakukan sesuatu... bagian yang sulit bukanlah pemrograman, tetapi matematika di bawahnya." Siswa di IOI bersaing secara perseorangan, dengan jumlah sampai dengan empat siswa dari masing-masing negara peserta (dengan 84 negara pada tahun 2014). Siswa dalam tim nasional dipilih melalui kontes komputasi nasional, seperti Olimpiade Informatika Australia, Olimpiade Informatika Inggris, Olimpiade Komputasi India, Bundeswettbewerb Informatik (Jerman), dan Olimpiade Sains Nasional bidang Komputer (Indonesia).