## Artificial intelligence 1. Introduction to AI overview of the problems tackled in AI main research areas and application fields 2. State space and related problem solving methods state spaces and search methods non-informed and informed search methods adversarial search: minimax, alfa-beta pruning, and heuristic search methods (Monte Carlo tree search) constraint satisfaction problems 3. Logic and reasoning recalls of propositional and first order logic recalls of resolution theorem proving (for propositional logic) model-checking methods for propositional logic, SAT solvers 4. Planning plan formation and execution the STRIPS/PDDL model planning as a search problem satisfiability-based planning (SATPlan) 5. History and foundations historical outline of the discipline critical concepts of AI and their philosophical implications ## Natural Language Processing 1. Introduction. 2. Mind models and linguistic / expressive / interactive competencies: Development of expressive competencies, by means of verbal (both written and spoken), iconic, and gestural languages. Linguistic competencies and the act of thinking. Language, pragmatics, and interaction. 3. Natural language representation: levels and their complexity: computational linguistics as a representation of human linguistic competencies, as a model, and as a solution to specific and well defined problems. 4. Roles of symbolic and stochastic models in: morphologic, syntactic, semantic, and pragmatic analysis; sentiment analysis; spoken language, phonologic, and prosodic analysis; linguistic prediction; complexity evaluation; pattern recognition. 5. Trends in research and development: model composition and integration; definition of different criteria for model selection and composition/integration, given a language representation and a problem to cope with. 6. Models and techniques for written natural language processing. 7. Morphologic analysis and ambiguity resolution: lexicons, corpora and dictionaries. 8. Syntactic and structural analysis: Symbolic approaches Stochastic approaches Deep Learing approaches Hybrid approaches 9. Semantic and discourse analysis: using integrated approaches; analysis of different representation levels. 10. Models and techniques for spoken natural language processing. 11. Components and characteristics of vocal expression and interaction: feature extraction, classification of vocal characteristics, voice profile definition, vocal expression and interaction model. 12. Models for the description of: tone and prosody, time scheduling, forms, interactions, and complex dialogues, expressivity. 13. High quality text-to-speech (TTS) and speech recognition (ASR). Analysis strategies and models for emotional and affective components in both TTS and ASR. 14. Models and tools supporting an integrated analysis of verbal expressions, and supporting the enhancement of linguistic competencies in contexts of communication, forensic, educative and clinical relationship, and artistic performance. 15. Human-machine and human-human interaction. 16. Analysis and elaboration of linguistic-expressive resources on the net. 17. Supporting the analysis of communication and dialogue. 18. Supporting text authoring with prediction and summarization. 19. Supporting text complexity analysis. 20. Supporting speech and prosodic analysis. 21. Supporting sentiment analysis in critical interaction. 22. NLP for language rehabilitation. 23. Defining linguistic user profiles for verbal (both written and spoken) languages. PRACTICES Hands-on sessions about applications and tools. ## Distributed systems and Middleware tech Specific topics addressed during the course: Principles of concurrent programming for distributed systems Modelling distributed systems Basic communication facilities Naming Synchronization Fault tolerance Consistency and Replication Security Simulation - Introduction to distributed systems and middleware technologies - Principles of concurrent programming for distributed systems - Programming high-performance computing systems (OpenMP and MPI) - REST: Representational State Transfer - Object-Oriented middleware (RMI) - Message Oriented middleware (ActiveMQ) - Actor-oriented systems (Akka) - Middleware for Wireless Sensor Networks (TinyOS)