Lab Exercises and other course material for MSPH306 - Computational Physics
Taught at the Department of Physics, The University of Burdwan
The simulations are written in the Python programming language.
The website for this Course is @ https://bit.ly/msph306
You can also scan this QR-code to access this website:
- MSPH306
- Table of Contents
- For C programmers
- List of Lab Exercises
- Additional Notes
- Extra Tutorials and Resources:
- Suggested Textbooks:
- License
- Author
If you have any prior programming experience in C or a similar language like C++ or FORTRAN, you can get a quick overview of python in the notebook linked below:
Use the following links:
| Lab no. | Lab Notebooks | Google Colab Links |
|---|---|---|
| Lab 01 | Introduction to Python | |
| Lab 02 | Basic Programming I | |
| Lab 03 | Basic Programming II | |
| Lab 04 | Introduction to NumPy | |
| Lab 05 | Introduction to Matplotlib | |
| Lab 06 | Curve-fitting with Scipy | |
| Lab 07 | Linear Algebra with NumPy | |
| lab 08 | Ordinary Differential Equations |
-
Most of the the computers in the lab are connected to the internet. However, some of the linux machines in the lab have depleted CMOS batteries, so the clocks are not set to the proper date or time.The internet will not work properly if this is the case. In order to set the date and time manually, perform the following steps
- Open the Show Applications menu in the bottom-left corner.

- Type
Date & Timein the search field and select the Date & Time option. - Deselect the
Automatic Date & Timeoption, as well as theAutomatic Time Zoneoption, then set the Date & Time manually using values from your mobile phone. Finally, set the timezone toKolkata/India.
- If the date and time are correct, then internet access should be working.
- Open the Show Applications menu in the bottom-left corner.
-
In order to run these exercises locally in your home computer, perform the following steps.
- Install GitHub Desktop after downloading it from its website @ desktop.github.com
- Then, download this repository by cloning it using GitHub Desktop (see this doc for details). The web address of this repository is https://github.com/hariseldon99/msph306
- Download and install the miniforge python distribution. For details, goto https://github.com/conda-forge/miniforge, or this webpage: https://fabienmaussion.info/intro_to_programming/week_01/01-Installation.html
- Once miniforge is installed, then start the
miniforgeprompt and installjupytervia themambainstaller. For details, see https://fabienmaussion.info/intro_to_programming/week_02/01-Install-jupyter.html. - For VSCode users: See this link for setting up VSCode with jupyter: https://code.visualstudio.com/docs/datascience/jupyter-notebooks
-
Youtube Video Instrutions for installing Anaconda Python (in Bangla)
-
Video lecture series in Python programming (in Bengali) by Anisul Islam
-
Python Video Tutorials in Bengali (for beginners, check video description for further lectures):
-
Scientific Python Tutorials (including NumPy and Matplotlib)
-
Computational Physics using python: Learning material hosted by the Department of Physics, The University of Toronto
-
For a quick introduction to the Python programming language, as well as Numerical Python, Scientific Python and Matplotlib, see this tutorial
-
For a more detailed introduction to the abovementioned topics, see Robert Johansson's Scientific Python Lectures.
-
Yashavant Kanetkar, Let Us Python, (3rd Ed.), ISBN: 9789388511568
-
Alex Gezerlis, Numerical Methods in Physics with Python. Cambridge University Press; 2020. ISBN: 9781009303866
-
Abhijit Kar Gupta, Scientific Computing in Python, ISBN: 9788194956761. Author Website.
-
Christian Hill, Learning Scientific Programming with Python. ISBN: 9781107428225. Book Website
-
Robert Johansson, Numerical Python: A Practical Techniques Approach for Industry, ISBN: 9781484205549, Developer Website.
This work is licensed under a GPL License
Analabha Roy
Assistant Professor,
Department of Physics,
The University of Burdwan
Bardhaman, India 713104
Webpage: https://www.ph.utexas.edu/~daneel
