|
1 | | -# python-math |
2 | | -python assignment 1 and 2 |
| 1 | +# Math using Python |
| 2 | + |
| 3 | +Welcome — this repository contains teaching materials, examples, and exercises that use Python to explore and teach mathematics. |
| 4 | + |
| 5 | +## About the instructor |
| 6 | +I am ADIL MUKHTAR SHAH, a mathematics teacher with over 17 years of classroom experience. I created these materials to help students (and fellow teachers) learn mathematical concepts through interactive Python examples, clear visualisations, and hands-on exercises. |
| 7 | + |
| 8 | +## Purpose |
| 9 | +This repo is designed to: |
| 10 | +- Demonstrate mathematical concepts with runnable Python code and Jupyter notebooks. |
| 11 | +- Provide classroom-ready exercises and solutions. |
| 12 | +- Offer visualisations that make abstract ideas concrete. |
| 13 | +- Help teachers adopt Python in their teaching practice. |
| 14 | + |
| 15 | +## Who is this for? |
| 16 | +- Secondary and early undergraduate students learning algebra, calculus, linear algebra, probability, and statistics. |
| 17 | +- Teachers who want ready-made Python examples and lesson material. |
| 18 | +- Self-learners who prefer learning mathematics by doing. |
| 19 | + |
| 20 | +## Repository structure (suggested) |
| 21 | +- notebooks/ — interactive Jupyter notebooks for lessons and demos |
| 22 | +- examples/ — small, focused Python examples and scripts |
| 23 | +- exercises/ — student exercises and worksheets |
| 24 | +- solutions/ — solution notebooks and scripts |
| 25 | +- slides/ — slide decks and lesson plans |
| 26 | +- data/ — example datasets used in lessons |
| 27 | +- requirements.txt — Python packages used in the repo |
| 28 | + |
| 29 | +## Requirements |
| 30 | +Typical dependencies: |
| 31 | +- Python 3.8+ |
| 32 | +- numpy |
| 33 | +- scipy |
| 34 | +- sympy |
| 35 | +- matplotlib |
| 36 | +- pandas |
| 37 | +- jupyter (or jupyterlab) |
| 38 | + |
| 39 | +Install with: |
| 40 | +```bash |
| 41 | +pip install -r requirements.txt |
| 42 | +``` |
| 43 | + |
| 44 | +## Quick start |
| 45 | +Open a notebook from the `notebooks/` folder with Jupyter, or run small examples from `examples/`. Here is a short Python example that solves a quadratic equation and plots the quadratic: |
| 46 | + |
| 47 | +```python name=examples/quick_start.py url=https://github.com/ADIL8590/python-math/blob/main/examples/quick_start.py |
| 48 | +import numpy as np |
| 49 | +import matplotlib.pyplot as plt |
| 50 | +from math import sqrt |
| 51 | + |
| 52 | +# coefficients for ax^2 + bx + c = 0 |
| 53 | +a, b, c = 1, -3, 2 # roots: 1 and 2 |
| 54 | + |
| 55 | +discriminant = b**2 - 4*a*c |
| 56 | +roots = ((-b + np.sqrt(discriminant)) / (2*a), (-b - np.sqrt(discriminant)) / (2*a)) |
| 57 | +print("Roots:", roots) |
| 58 | + |
| 59 | +# plot |
| 60 | +x = np.linspace(-1, 4, 400) |
| 61 | +y = a * x**2 + b * x + c |
| 62 | +plt.axhline(0, color='black', linewidth=0.8) |
| 63 | +plt.plot(x, y, label=f'{a}x^2 + {b}x + {c}') |
| 64 | +plt.scatter(roots, [0, 0], color='red') |
| 65 | +plt.legend() |
| 66 | +plt.title('Quadratic: roots and curve') |
| 67 | +plt.xlabel('x') |
| 68 | +plt.ylabel('y') |
| 69 | +plt.show() |
| 70 | +``` |
| 71 | + |
| 72 | +## Example lesson topics |
| 73 | +- Algebra: solving equations, factorisation, polynomial behaviour |
| 74 | +- Calculus: limits, derivatives (symbolic via sympy), numerical differentiation, integrals and area |
| 75 | +- Linear Algebra: vectors, matrices, eigenvalues, visual intuition |
| 76 | +- Probability & Statistics: distributions, sampling, hypothesis basics |
| 77 | +- Geometry: coordinate geometry, transformations, plotting conic sections |
| 78 | +- Number Theory & Sequences: modular arithmetic, recurrence relations |
| 79 | + |
| 80 | +## Teaching suggestions |
| 81 | +- Use notebooks to present theory, then switch to hands-on exercises. |
| 82 | +- Start with numeric examples (numpy) then introduce symbolic reasoning (sympy). |
| 83 | +- Encourage students to modify parameters and observe changes in plots. |
| 84 | +- Provide short, targeted exercises with immediate automated checks where possible. |
| 85 | + |
| 86 | +## Contributing |
| 87 | +Contributions are welcome: |
| 88 | +- Add new notebooks or exercises |
| 89 | +- Improve explanations and visualisations |
| 90 | +- Submit issues for errors or unclear material |
| 91 | +Please follow the repository style (clear markdown explanations, working notebooks, and minimal dependencies). |
| 92 | + |
| 93 | +## License |
| 94 | +This repository is shared for educational use. If you have a preferred license, add a LICENSE file (e.g., MIT). |
| 95 | + |
| 96 | +## Contact |
| 97 | +ADIL MUKHTAR SHAH |
| 98 | +Mathematics Teacher — 17+ years experience |
| 99 | +GitHub: [ADIL8590](https://github.com/ADIL8590) |
| 100 | +Email: (add your email here) |
| 101 | + |
0 commit comments