Soft computing covers fuzzy sets, artificial neural networks, probabilistic reasoning, genetic algorithms, and combined approaches for computing applications.
Topics include algorithmic complexity analysis, design methods (such as divide and conquer, greedy method, dynamic programming, and backtracking), and understanding intractable problems.
It covers AI concepts, knowledge representation, reasoning, organization, perception, knowledge-based systems, and some basic machine learning algorithms