Skip to content

drsaramedhet/scientific-python-for-beginners

Repository files navigation

Scientific Python for Beginners

A structured, hands-on Python course for students and curious minds — blending general programming with real physics examples.


Who is this for?

  • Complete beginners with no prior programming experience
  • Physics / science students wanting to use Python as a tool
  • Self-learners who want practical, runnable examples

No math beyond high school is required to start. Physics examples are explained briefly before use.


Course Structure

Each week has three files:

File Purpose
notes.md Concept explanations with syntax
examples.py Runnable code — general + physics themed
exercises.py Practice problems with hints

Course Schedule

Week Topic
01 Variables, data types, and basic operations
02 Strings and slicing
03 Lists and list methods
04 Tuples, dictionaries
05 Conditions and decision making
06 Loops and iteration
07 Functions and reusable code
08 Introduction to NumPy
09 Matrices and basic linear algebra (NumPy)
10 Introduction to SymPy
11 Differentiation and integration (SymPy)
12 Matplotlib and data visualization
13 Physics simulations
14–15 Mini project work

Setup

Requirements: Python 3.8+

pip install numpy sympy matplotlib

That's it. Each weekly folder is self-contained — just open and run.


How to Use

  1. Clone or download this repo
  2. Start at week01/
  3. Read notes.md first
  4. Run and study examples.py
  5. Try exercises.py on your own
git clone https://github.com/YOUR_USERNAME/scientific-python-for-beginners.git
cd scientific-python-for-beginners/week01_variables
python examples.py

Physics Topics Covered

Examples and exercises draw from:

  • Kinematics & free fall
  • Unit conversions (temperature, energy)
  • Oscillations & waves
  • Vectors and forces
  • Symbolic differentiation & integration
  • Projectile motion simulation

Physics context is always briefly explained — you don't need prior knowledge.


Repo Layout

scientific-python-for-beginners/
├── README.md
├── course_schedule.md
├── week01_variables/
│   ├── notes.md
│   ├── examples.py
│   └── exercises.py
├── week02_strings/
│   ├── notes.md
│   ├── examples.py
│   └── exercises.py
├── week03_lists/
│   ├── notes.md
│   ├── examples.py
│   └── exercises.py
└── ...

Note

Try the exercises on your own before consulting the solutions.


Contributing

Suggestions, corrections, and additional examples are welcome through issues and pull requests.


License

MIT — free to use, share, and modify.


Citation and Use

This course material was developed by Dr. Sara Medhet for educational purposes.

You are welcome to use, share, and adapt the material in accordance with the repository license. If you use substantial portions of this course in teaching, training, publications, or derivative educational resources, please provide appropriate attribution to the original repository and author.


Author

Dr. Sara Medhet (PhD in Physics)

This repository was developed to support accessible and application-oriented learning in scientific programming and computational methods.

About

A beginner-friendly introduction to Python for scientific computing, designed for science and engineering students. The course focuses on practical problem-solving using real-world physics-inspired examples, data analysis, and visualization.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages