6 ECTS; 1º Ano, 1º Semestre, 28,0 T + 28,0 TP + 5,0 OT , Cód. 814341.
Lecturer
            - Fernando Sérgio Hortas Rodrigues (1)(2)
(1) Docente Responsável
(2) Docente que lecciona
Prerequisites
          Not applicable.
Objectives
          1. Acquire introductory knowledge on the topic of Artificial Intelligence, such as: Agents, environments, basic search algorithms, and adversarial search.
2. Acquire introductory knowledge on the topic of Data Science, addressing introductory subjects such as: Data acquisition, data preprocessing, data visualization, and supervised learning models.
Program
          Aqui está a tradução para inglês:
**Part I - Introduction to Artificial Intelligence**
1. **Introduction to Artificial Intelligence (AI):**  
   1.1 What it is and what its for.  
   1.2 Foundations and history.  
   1.3 The state of the art.  
   1.4 Risks and advantages.
2. **Intelligent Agents:**  
   2.1 Agents and Environments.  
   2.2 Rational intelligent agents.  
   2.3 The nature of Environments.  
   2.4 The structure of Agents.
3. **Problem-solving through search algorithms:**  
   3.1 Problem-solving agents.  
   3.2 Search algorithms.  
   3.3 Uninformed search strategies: Best-first search, Breadth-first search, Dijkstra/uniform-cost search, Depth-first search.  
   3.4 Informed search strategies (heuristics): Greedy best-first search, A*.  
   3.5 Heuristic functions.
4. **Adversarial Search and Games:**  
   4.1 Minimax search algorithm.  
   4.2 Minimax with Alpha-Beta pruning.
---
**Part II - Introduction to Data Science**
5. **Data Collection:**  
   5.1 Sources: Text files, Web, APIs, Databases.  
   5.2 Formats: JSON, XML, CSV, Apache Parquet.
6. **Data Preprocessing:**  
   6.1 Data exploration in various dimensions: Vectors, Matrices, and higher dimensions.  
   6.2 Data cleaning techniques.  
   6.3 Data processing techniques.  
   6.4 Rescaling.  
   6.5 Dimensionality reduction.
7. **Data Visualization:**  
   7.1 The importance of data visualization.  
   7.2 Visualization libraries: Matplotlib, Seaborn, and Plotly.  
   7.3 Representation of basic charts: Bar, line, and pie charts.  
   7.4 Visualization of multi-dimensional data.  
   7.5 Interactive visualization.
8. **Supervised Learning:**  
   8.1 Regression models.  
   8.2 Classification models.  
   8.3 Evaluation metrics.
Evaluation Methodology
          **Note**: Please look for information in the portuguese page.
Bibliography
          - Grus, J. (2019). Data Science from Scratch: First Principles with Python. 2nd Ed. ISBN: 9781492041139:  O'Reillly
- Russell, S.  e Norvig, P. (2021). Artificial Intelligence: A Modern Approach. 4th Global Edition, ISBN: 9781292401133:  Pearson
- Simões, A.  e Costa, E. (2008). Inteligência Artificial . 2ª Ed. ISBN: 9789727223404:  FCA
Teaching Method
          **Theoretical classes** are lectured in an expository and participatory format, with fundamental concepts being described and discussed with the students. **Practical classes** focus on solving: practical cases, exercises.
Software used in class
          Python
Jupyter Lab

















