The file diffraction.py contains the three functions for single, double and diffraction grating normalized intensities.
The file single_slit_diffraction.py contains code that uses the above module's code to create a plot with sliders to show how single slit diffraction works.
The file double_slit_diffraction.py contains code that showcases how double slit interference works.
The file diffraction_grating.py contains code that showcases how grating works.