Desain dan Analisis Algoritma diberikan dan diajarkan kepada mahasiswa untuk menyelesaikan persoalan dengan instansiasi yang besar yang solusinya menjadi lebih sulit ditentukan. Maka, perlu sebuah prosedur umum yang berisi langkahlangkah penyelesaian persoalan menggunakkan algoritma. Algoritma juga disebut sebagai urutan langkah-langkah untuk memecahkan suatu persoalan, dengan memproses masukan menjadi luaran. Tujuan analisis algoritma: mengukur kinerja (performance) algoritma dari segi kemangkusannya (efficient) adapun parameter untuk kemangkusan algoritma yaitu: Kompleksitas waktu dan Kompleksitas ruang. Beberapa algoritma yang akan dibahas pada perkuliahan ini adalah Brute Force, Greedy, Dynamic Programming, Divide and Conquer dan berbagai algoritma lainnya.