Skip to content

cleburn/python-math-exercises

Repository files navigation

Python Math Exercises

A collection of short, daily Python notebooks designed to strengthen both math intuition and coding fluency.
Each notebook tackles a small but meaningful problem, progressing from scratch implementations toward more Pythonic and library-based solutions.

The goal: move from guided learning → real-world problem solving in Jupyter, while practicing version control with Git/GitHub.


Table of Contents 📑


Repository Structure 📘

python-math-exercises/
│
├── day1_vectors.ipynb
├── day2_matrix_multiplication.ipynb
├── day3_probabilities.ipynb
├── day4_fromscratch_to_numpy.ipynb
└── README.md

Exercises ✏️

Week 1 Wrap-Up — Python in Practice + Math Warmup

This week established strong Python fundamentals through hands-on math exercises in Jupyter.
Each day built confidence in implementing core concepts from scratch (vectors, matrices, probabilities) and then validating them with NumPy.
By the end of the week, I pushed my first GitHub repo with 4 completed notebooks, developed a daily terminal → Jupyter → GitHub workflow, and saw firsthand how NumPy streamlines performance and syntax.
Ready to move into Week 2: NumPy & Pandas Foundations.


Day 1 – Vectors

  • Implemented vector addition and dot products from scratch.
  • Compared with NumPy’s built-in vector operations.

Day 2 – Matrices

  • Built matrix multiplication manually with loops.
  • Verified results using NumPy’s dot function.
  • Timed manual vs. NumPy operations.

Day 3 – Probabilities (Dice Simulation)

  • Simulated dice rolls with Python’s random module.
  • Calculated frequencies of sums (2–12) and compared with theoretical probabilities.
  • Optional visualization using matplotlib for simulated vs. theoretical distributions.

Day 4 – From Scratch → NumPy

  • Rebuilt a previous math exercise (vector ops, matrix multiplication, or dice simulation) in pure Python.
  • Refactored the same task using NumPy arrays and vectorized operations.
  • Compared performance of pure Python vs. NumPy with timing tests on small and large matrices.
  • Reflected on how NumPy simplifies syntax and speeds up computation.

Setup & Usage 🔧

  1. Clone the repo:

    git clone https://github.com/cleburn/python-math-exercises.git
    cd python-math-exercises
  2. Install dependencies (most are standard in Jupyter):

    pip install numpy matplotlib
  3. Launch Jupyter:

    jupyter lab
  4. Open any notebook and run the cells.


Learning Goals 🎯

  • Practice Python fundamentals (loops, lists, dicts, functions).
  • Build intuition for linear algebra & probability through code.
  • Get comfortable with NumPy and matplotlib.
  • Develop Git + GitHub workflow habits (add → commit → push).

About Me 👤

Hi, I’m Cleburn Walker — a lifelong learner exploring the intersection of math, AI, and problem-solving with Python.
I’m currently building a strong foundation in machine learning, data analysis, and AI engineering while documenting the journey through daily coding exercises and projects.

  • 📍 Based in Texas, USA
  • 💻 Background in military, sales, real estate, & REI consulting
  • 🚀 Pivoting into AI/ML engineering with a focus on practical projects and portfolio building
  • 🌐 Connect with me on LinkedIn

Part of my ongoing ML/AI Engineer Roadmap — documenting steady, daily progress toward mastery.

About

Intro to python math formulas for Data collection, sorting, and analyzing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published