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
          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
          Continuous Assessment Period:
  Tests (T1 and T2), worth 50% each.
  Final Grade = (T1 × 0.5 + T2 × 0.5)
Other Assessment Periods:
  Exam (E), worth 100%.
Notes:
- A minimum mark of 7/20 in each Test is required; otherwise, the student fails that assessment period.
- If this requirement is not met, even when the final average is greater or equal than 9.5/20, the student fails the course unit. In such cases, the official final grade recorded will be 9/20.
Passing the course unit is subject to compliance with points 11 and 12 of Article 11 of the IPT Academic Regulations.
Bibliography
          - Grus, J. (2019). Data Science from Scratch: First Principles with Python. 2nd Ed. ISBN: 9781492041139:  O'Reillly
- Norvig, P.  e Russell, S. (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
VS Code

















