4 - [Learn numpy](https://numpy.org/learn/)
5 - [MNIST database of handwritten digits](http://yann.lecun.com/exdb/mnist/)
6 - [Neuron](https://en.wikipedia.org/wiki/Artificial_neuron)
7 - [Perceptron](https://en.wikipedia.org/wiki/Perceptron)
8 - [3Blue1Brown video series](https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi)
10 Too high-level for first-time learning, but apparently very abstract and powerful for real-life:
11 - [keras](https://keras.io/)
12 - [tutorial how to recognize handwriting with keras/tensorflow](https://data-flair.training/blogs/python-deep-learning-project-handwritten-digit-recognition/)
16 sudo dnf install -y python3-numpy python3-matplotlib
20 - Do the [NumPy quickstart tutorial](https://numpy.org/devdocs/user/quickstart.html); example:
24 import matplotlib.pyplot as plt
25 grad = np.linspace(0,1,10000).reshape(100,100)
26 plt.imshow(grad, cmap='gray')
29 plt.imshow(np.sin(np.linspace(0,10000,10000)).reshape(100,100) ** 2, cmap='gray')
30 # non-blocking does not work with QT_QPA_PLATFORM=wayland
35 - Get the handwritten digits training data with `./download-mnist.sh`
37 - Read the MNIST database into numpy arrays with `./read_display_mnist.py`. Plot the first ten images and show their labels, to make sure the data makes sense:
39 