A structured collection of Python lessons — starting from core programming fundamentals and building up to applications in physics and astronomy. Built for teaching/outreach purposes.
This repository holds beginner-friendly Python lessons and notebooks designed for teaching. The curriculum starts with general Python fundamentals (variables, loops, functions, data structures) and then moves into applied lessons using physics and astronomy examples — so learners see how programming connects to real scientific problems.
(Currently setting up the repository structure — first lessons coming soon.)
Students and learners new to Python, especially those interested in science, physics, or astronomy — suitable for workshops, outreach sessions, or self-paced learning.
- Google Colab — main environment for lessons (no installation needed for learners)
- Jupyter Notebook — local development
teaching-python/
│
├── 01-python-basics/
│ ├── lesson.ipynb
│ └── README.md
│
├── 02-data-structures/
│ └── ...
│
├── 0X-physics-applications/ ← later lessons applying Python to physics
│ └── ...
│
├── 0Y-astronomy-applications/ ← later lessons applying Python to astronomy
│ └── ...
│
├── requirements.txt
├── LICENSE
└── README.md
Each lesson folder will have its own short README stating: the learning objective, prerequisites (which earlier lessons to complete first), and a summary of what's covered.
Clone the repo:
git clone https://github.com/hafiashafqat/teaching-python.git
cd teaching-pythonInstall dependencies:
pip install -r requirements.txtOr open any lesson directly in Google Colab — no setup required, ideal for teaching sessions.
- Foundations for Numerical ODE
- ODE Numerical methods
- Planetary orbit Simulation (2D)
- PDE heat equation
- GitHub: @hafiashafqat
This project is licensed under the MIT License — see the LICENSE file for details.