Coding & mathematics lab

A gentle path from “I have never written a line of code” to “I can open a notebook, run it, and use it to understand a mathematical idea.”

What this lab is for

Many students first meet words like “Python”, “Jupyter”, and “GitHub” here. This lab is designed as a beginner-friendly bridge:

  • • Learn how a simple coding notebook works without installing heavy software.
  • • Use short, focused notebooks to repeat ideas from your mathematics courses.
  • • Move from just reading code to tweaking parameters and running your own experiments.
🌱Absolute beginners welcome 📊Maths first, syntax second 🧪Short experiments & visuals 🤝Built by the InvariantMath coding circle

As the coding circle grows, this lab will become a library of course-connected notebooks: sequences and series experiments, simple simulations, small visualisations, and more.

Learning tracks

You do not need to “be a programmer” to use this page. Start with the track that matches how you feel today, not who you think you should be.

Track 1
Zero coding experience Level 100–200
  • • What is a notebook? Cells, “Run” buttons, and outputs.
  • • Numbers, variables, and basic operations in Python.
  • • Using code as a calculator for simple course examples.
  • • Plotting one function and changing a parameter.

Aim: You can open a prepared notebook, press “Run”, and change small pieces (like a number or exponent) without fear.

Track 2
Coding for calculus & algebra Level 200–300
  • • Sums, products, and simple loops for sequences and series.
  • • Approximating limits and visualising convergence.
  • • Matrices, eigenvalues, and solving small systems.
  • • Simple numerical experiments with integrals and ODE-style problems.

Aim: You can read a short notebook connected to a course (e.g. MAT 212, MAT 213), understand the flow, and adjust it to test your own examples.

Track 3
Mini projects & explorations Level 300–400
  • • Short projects on number theory experiments.
  • • Simple simulations for probability and random walks.
  • • Visual explorations related to the ODE–Integration Bee.
  • • First steps towards research-style coding projects.

Aim: You use notebooks as a thinking tool — not just following instructions, but asking “What if I change this rule?” and seeing what happens.

Notebook library (first wave)

As the coding club develops material, this section will list concrete notebooks with links. Each entry here is meant to be:

  • • Tied to a course or topic.
  • • Short enough to finish in one sitting.
  • • Written with comments for beginners.
Using a notebook as a smart calculator
Beginner • Level 100–200
Track 1 Python basics Arithmetic & algebra
A gentle notebook that shows how to add, subtract, multiply, and work with powers in Python — using examples that look like first-year algebra and calculus exercises.
Plotting $f(x)$ and changing a parameter
Beginner → Intermediate
Track 1 Visualisation Functions & curves
A small notebook where you plot a function such as $f(x) = ax^2$, move the parameter $a$, and watch the graph respond. Perfect for students who want to “see” what changing a coefficient does.
Experimenting with a simple series
Intermediate • Level 200–300
Track 2 Sequences & series MAT 212 / MAT 213
A notebook that computes partial sums of a series, draws graphs of those sums, and helps you see numerically when a series seems to converge or diverge.
Random walk on the line
Advanced • Level 300–400
Track 3 Probability Simulation
A short project notebook that lets you simulate a simple random walk, plot example paths, and observe how randomness appears in a controlled mathematical setting.

As notebooks are completed, each button above can be linked to: a Google Colab notebook, a JupyterHub instance, or a GitHub repository maintained by the club.

If you have never coded before

You can still use this lab. The goal is not to turn you into a software engineer, but to add a new way of thinking about your mathematics.

  • Step 1: Choose where you will run notebooks no installation at first
    Laptop

    Easiest option. Use a browser-based notebook service (e.g. Google Colab or a future InvariantMath Jupyter server) so you do not have to install Python immediately.

    Phone

    You can still read and run small cells in the browser, but typing code is slower. This is fine for following along in meetings.

  • Step 2: Start with one beginner notebook

    For your first attempt, ignore advanced words like “functions” and “modules”. Just follow the written comments inside the notebook and press “Run” where you are told.

  • Step 3: Change small things

    When the notebook works, change one number or one formula and run again. Watch what changes in the output or the graph. This is how real experiments start.

  • Step 4: Bring questions to the coding circle

    The lab works best as a community effort. Bring your notebook, your errors, and your curiosity to the coding meetings; other students can help you debug and think.

Glossary for this page

Some words you may see here and in the notebooks:

  • Notebook: A document made of cells. Some cells contain code, some contain text. You run code cells and the results appear just below.
  • Cell: A small box in the notebook. You press “Run” for one cell at a time.
  • Kernel / runtime: The “engine” that executes your code behind the scenes. If things break, you may be asked to “restart the runtime”; a club member can show what this means.
  • GitHub: A website where code and notebooks can be stored and shared. You do not need to understand everything about GitHub to click a link to a notebook.
  • Library: A pre-written collection of code you can use, such as plotting tools or scientific functions. In this lab, we mainly use a few standard libraries, introduced slowly.

How the coding circle can maintain this page

This lab grows as students contribute:

  • • Decide a small list of “official” notebooks each semester (e.g. 3–5).
  • • For each notebook, provide:
    • – A short description aimed at students.
    • – One link that runs directly in the browser.
    • – Optionally, a GitHub link for those who want to download.
  • • Update this page when a new notebook is stable enough to share.

This way, even students who “do not know anything about coding” can safely click, run, and slowly build confidence.