Skip to main content

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.

Numerical Linear Algebra

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.

MNIST Digit Recognition

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.

Snell’s Law

Where in the World?

Build the logic of a capital-guessing game. Using the coordinates of every capital city, you will compute the distance and the compass direction between all pairs at once, and a supplied interface turns your clues into a game with a globe.

Main concepts: lists and dictionaries, reshape and broadcasting, vectorized trigonometry, and functions that work together.

Where in the World?

Quantum Measurements and Uncertainty

Model quantum measurements with linear algebra. Operators are matrices, outcomes are eigenvalues, and repeated experiments are random draws from probabilities that you compute from eigenvectors.

Main concepts: complex matrices, @, np.linalg.eigh, commutators, and random sampling.

Quantum Measurements and Uncertainty