Theoretical and practical aspects of artificial intelligence include the design, construction, implementation and evaluation of intelligent systems. Expert systems in business, industry and government are built using expert system shells and artificial intelligence programming languages. Knowledge engineering is studied along with other topics such as state space search, genetic algorithms, fuzzy logic, neural networks and intelligent agents.