Side Projects
These optional projects let you put your NumPy skills into practice and earn extra credit. They work exactly like the side projects of Module 2: the submission format, the extra credit, and the guidance on using AI tools are described on the Module 2 Side Projects page. Only three side projects in total count towards the bonus, so you can mix projects from both modules.
Numerical Linear Algebra
Implement four classic algorithms using only NumPy: centering a matrix, the Gram-Schmidt process, the conjugate gradient method, and the power method. Each is a short recipe, but together they show how much of linear algebra reduces to dot products and matrix-vector products.
Main concepts: broadcasting, axis, dot products, norms, and iterative algorithms.
MNIST Digit Recognition
Build your first “AI model”: a classifier that recognizes handwritten digits by comparing each drawing with the average look of every digit. You will measure its accuracy on real data and discover where such a simple idea breaks down.
Main concepts: image arrays, boolean masks, array arithmetic, distances, and accuracy.
Snell’s Law
Estimate the refractive index of an unknown material from measured angles of incidence and refraction. You will use vectorized trigonometry and descriptive statistics to turn noisy measurements into a single estimate.
Main concepts: two-dimensional slicing, vectorized trigonometric functions, and descriptive statistics.