演算法課程描述及教授學生有關計算機記憶或儲存體中資料的組織及結構方式、對結構資料的運算、相關的演算法和設計技術。當電腦功能越來越強,速度也越快,因此需求能處理大量輸入資料的程式也越被要求嚴謹而具挑戰性,這是由於需要更注意其執行的效率。因為當輸入的資料越趨增大時,程式中沒有效率的設計在大多數情況會越增明顯。當要處理的問題越大及越複雜,軟體發展人將不可避免的發展更複雜精細的程式來解決這些問題。