Para esta ativiade coloquei o Googlwe AI Studio para trabalhar um pouco, passei no promt :
1- criar o modelo para calcular a média aritmética das notas de cada um dos alunos.
2 - Gerar um gráfico com as médias e a dispersão das médias dos estudantes;
3 - Importar tudo para o Google Sheets e por fim gera o aplicativo, disponivel no lilnk abaixo.
https://aistudio.google.com/apps/d0df0eb7-2e3b-4f58-8e36-83fd7c517d37?showPreview=true&showAssistant=true
Segue prints das telas para análise.

App.tsx
import React, { useMemo, useState } from 'react';
import {
ScatterChart,
Scatter,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
ResponsiveContainer,
ZAxis,
} from 'recharts';
import { FileDown, Table as TableIcon, Activity, Search, FilterX } from 'lucide-react';
const rawData = `Marcelo Barbosa,6.5,8.3,9.2,7.2
Rafaela Santos,8.3,4.5,7.5,4.5
Ronaldo Santos,7,2.1,8.9,8.9
Lucas Gabriel Ribeiro,5.9,9.8,6.4,6.1
Luana da Silva,9.2,5.6,3.1,9.8
Mariana Pereira,4.7,1.2,5.8,5.4
Maria Eduarda Farias,8.8,7.7,4.2,10
Fernando Henrique Silva,6.1,6.9,9.7,2.3
Pedro Henrique Souza,7.2,3.4,8,6.7
Ana Paula Oliveira,0,0.5,7.2,8
Natália Guimarães,5.5,4.8,5.1,3.6
João Vitor Ferreira,8,8.9,2.8,0
Rodrigo Almeida,7.9,2.2,6.9,6.9
Gustavo Carvalho,6.4,9.1,7.6,4.3
Leticia Costa,9.9,1,9.4,7.8
Aline da Rocha,8.5,7.2,5.7,5
Marcos Vinicius Lima,6.8,3.3,4.5,8.3
Carla Cristina Castro,0,6,5.1,1.1
Isabela da Costa,5.2,5.1,6.3,9.1
Bruna Oliveira,9,2.5,9.9,7.6`;
interface StudentData {
id: number;
name: string;
p1: number;
p2: number;
p3: number;
p4: number;
average: number;
}
....