To create a plot for student scores and their variance through time using matplotlib, you will first need to have the data available in a suitable format. Once you have the data in a suitable format, follow the below steps:

Step 1: Import the necessary libraries
```
import matplotlib.pyplot as plt
import numpy as np
```
Step 2: Create a list of student scores and variance
```
scores = [85, 90, 76, 89, 92, 80, 94, 87, 88, 85]
variance = [3, 2, 4, 3.5, 3.8, 2.5, 2.2, 2.8, 1.9, 2.5]
```
Step 3: Create a time variable
```
time = np.arange(0, 10, 1)
```
Step 4: Create the plot
```
plt.plot(time, scores, 'ro-', label='Student Scores')
plt.plot(time, variance, 'bs-', label='Variance')
plt.xlabel('Time')
plt.ylabel('Scores')
plt.title('Student Scores and Variance over Time')
plt.legend(loc='best')
plt.show()
```
This code will produce a plot with time on the x-axis, student scores and variance on the y-axis. The student scores will be represented by red circles and the variance will be represented by blue squares. You can customize the plot as per your requirement.
Crea un grafico per i punteggi degli studenti e la loro varianza nel tempo utilizzando matplotlib