Introduction to artificial intelligence: Search methods, Knowledge representation and reasoning in first-order logic. Planning: STRIPS operators, Linear and non-linear approaches, TWEAK system. Machine learning: Learning by analyzing differences, Version spaces, Identification trees, Instance-based learning, Bayesian classifiers, Elements of neural networks, Genetic algorithms. Natural language understanding: Logic grammars for syntactic and semantic analysis. Constraint programming: Constraint satisfaction problems, Consistency techniques on finite domains, Optimization, Constraint logic programming, Applications .