Artificial Intelligence course, spring semester, given by Prof. Faltings Objectives: To know the main techniques for the realization of knowledge-based systems and intelligent agents. Content: 1. Basic concepts: logic of predicates, inference and automatic proof of theorems 2. Symbolic programming, in particular in Python 3. Search algorithms, inference engines, expert systems 4. Diagnosis: by uncertain reasoning, by system expert, and by models 5. Reasoning with uncertain data: fuzzy logic, Bayesian inference 6. Satisfaction of constraints: definition, consistency and main theorems, research heuristics, local propagation, temporal and spatial reasoning 7. Automatic planning: modeling, planning linear and non-linear 8.