Algorithms theory
The theory of algorithms serves the development and construction of algorithms, finding and studying the complexity of algorithms, constructing polynomial and non-polynomial classes, and studying other problems.
Teaching this subject further helps in the effective study of such subjects as "Coding Theory", "Graph Theory", "Pattern Recognition", etc.