Optics is an enabling science that forms a basis for our technological civilization. Courses in optics are a required part of the engineering or physics undergraduate curriculum in many universities worldwide. The aim of Understanding Optics with Python is twofold: first, to describe certain basic ideas of classical physical and geometric optics; second, to introduce the reader to computer simulations of physical phenomena. The text is aimed more broadly for those who wish to use numerical/computational modeling as an educational tool that promotes interactive teaching (and learning). In addition, it offers an alternative to developing countries where the necessary equipment to carry out the appropriate experiments is not available as a result of financial constraints. This approach contributes to a better diffusion of knowledge about optics. The examples given in this book are comparable to those found in standard textbooks on optics and are suitable for self-study. This text enables the user to study and understand optics using hands-on simulations with Python. Python is our programming language of choice because of its open-source availability, extensive functionality, and an enormous online support. Essentials of programming in Python 3.x, including graphical user interface, are also provided. The codes in the book are available for download on the book's website.
"Understanding Optics with Python by Vasudevan Lakshminarayanan, Hassen Ghalila, Ahmed Ammar, and L. Srinivasa Varadharajan is born around a nice idea: using simulations to provide the students with a powerful tool to understand and master optical phenomena. The choice of the Python language is perfectly matched with the overall goal of the book, as the Python language provides a completely free and easy-to-learn platform with huge cross-platform compatibility, where the reader of the book can conduct his or her own numerical experiments to learn faster and better."
- Costantino De Angelis, University of Brescia, Italy
"Teaching an important programming language like Python through concrete examples from optics is a natural and, in my view, very effective approach. I believe that this book will be used by students and appreciated greatly by instructors. The topic of modelling optical effects and systems where the students should already have a physical background provides great motivation for students to learn the basics of a powerful programming language without the intimidation factor that often goes with a formal computer science course."
- John Dudley, FEMTO-ST Institute, Besancon, France
Optics is an enabling science that forms a basis for our technological civilization. Courses in optics are a required part of the engineering or physics undergraduate curriculum in many universities worldwide. The aim of Understanding Optics with Python is twofold: first, to describe certain basic ideas of classical physical and geometric optics; second, to introduce the reader to computer simulations of physical phenomena. The text is aimed more broadly for those who wish to use numerical/computational modeling as an educational tool that promotes interactive teaching (and learning). In addition, it offers an alternative to developing countries where the necessary equipment to carry out the appropriate experiments is not available as a result of financial constraints. This approach contributes to a better diffusion of knowledge about optics. The examples given in this book are comparable to those found in standard textbooks on optics and are suitable for self-study. This text enables the user to study and understand optics using hands-on simulations with Python. Python is our programming language of choice because of its open-source availability, extensive functionality, and an enormous online support. Essentials of programming in Python 3.x, including graphical user interface, are also provided. The codes in the book are available for download on the book's website.
"Understanding Optics with Python by Vasudevan Lakshminarayanan, Hassen Ghalila, Ahmed Ammar, and L. Srinivasa Varadharajan is born around a nice idea: using simulations to provide the students with a powerful tool to understand and master optical phenomena. The choice of the Python language is perfectly matched with the overall goal of the book, as the Python language provides a completely free and easy-to-learn platform with huge cross-platform compatibility, where the reader of the book can conduct his or her own numerical experiments to learn faster and better."
- Costantino De Angelis, University of Brescia, Italy
"Teaching an important programming language like Python through concrete examples from optics is a natural and, in my view, very effective approach. I believe that this book will be used by students and appreciated greatly by instructors. The topic of modelling optical effects and systems where the students should already have a physical background provides great motivation for students to learn the basics of a powerful programming language without the intimidation factor that often goes with a formal computer science course."
- John Dudley, FEMTO-ST Institute, Besancon, France
Introduction to Python. GUI Programming with Python and Qt. Electromagnetic Waves. Radiometry and Photometry. Fermat’s Principle, Reflection, and Refraction. Lenses and Mirrors. Thick Lenses and Lens Systems. Polarization. Interference. Coherence. Diffraction. Fresnel Integrals.
VL (Ph.D., UC Berkeley) is currently at University of Waterloo,
where he is a professor of vision science, physics, electrical and
computer engineering and systems design engineering. He has been a
KITP Scholar at the Kavli Institute for Theoretical Physics at UC
Santa Barbara, an associate of the Michigan Center for Theoretical
Physics and has held research and teaching positions (as well as
visiting professorships) at UC Irvine, UC Berkeley, the Indian
Institute of Technology at Delhi and Madras, the University of
Michigan and the University of Missouri amongst others. He is a
fellow of a number of professional societies such as the American
Physical Society, AAAS, Optical Society of America, SPIE – the
International Society for Optical Engineering,, Institute of
Physics (UK), etc., a AAAS Science and Technology Policy
Fellowship finalist, and has worked in a number of areas ranging
from quantum physics and spectroscopy, to bioengineering,
mathematical optics, image processing, optometry, ophthalmology and
cognitive science. He has published over 300 papers, chapters,
etc. as well as a editor/coauthor of about 15 books, and is the
recipient of a number of awards including the SPIE Optics educator
award (2011) and the Esther Beller Hoffman medal of OSA (2013). He
serves as a consultant for the medical devices branch of the US
FDA. He is a member of various panels of the National Institutes
of Health, as well as the editorial boards of a number of journals
including Journal of Modern Optics published by Taylor and Francis.
He is a founding member of the UNESCO ALOP project and is on the
optics advisory committee of the Abdus Salam International Center
for Theoretical Physics. He is also the chief scientist of an
educational technology start up in Hamilton, Ontario
Hassen Ghalila is a Professor of Physics in the Laboratoire de
Spectroscopie Atomique Moléculaire et Applications (LSAMA) in the
Department of Physics - Faculty of Sciences of Tunis - Tunis El
Manar University. He received his Ph.D. from Orsay-Paris XI on
numerical codes for plasma physics and microwave tubes. Since 2005
he has been the leader of the Experimental and Numerical and
Simulations modeling team at LSAMA laboratory. Most of his
publications are in topics ranging from laboratory plasma
spectroscopy to ionospheric plasma. He is currently the local
coordinator of the International Space Weather Initiative (ISWI)
program. He is also the general secretary of the Tunisian Optical
Society (STO) which is dedicated to outreach program in the field
of optics.
Ahmed Ammar is a PhD graduate in Physics at the Laboratoire de
Spectroscopie Atomique Moléculaire et Applications (LSAMA) in the
Department of Physics - Faculty of Sciences of Tunis - Tunis El
Manar University. His PhD research focuses on studying ionospheric
disturbances through radio-VLF waves propagation, such as effect of
solar flares and solar eclipses on the ionospheric D-region. His
activities on many science-outreach programs in Tunisia led him to
his research topic. Indeed, he has been an amateur astronomer since
2006 and currently he is the scientific director at the
Astronomical Society of Tunisia (SAT) and member of steering
committee of the Tunisian Optical Society (STO). He is a Python
developer and participated in many workshops in the use of Python
as a suitable and efficient programming language to teach and learn
Physics and specifically Optics simulation. He is also member of
the Experimental, Numerical and Simulations modeling team at LSAMA
laboratory and member of the Tunisian team of the ISWI program
(International Space Weather Initiative).
L. Srinivasa Varadharajan (Rajan) is a Research Scientist at the L
V Prasad Eye Institute in Hyderabad, India. A physicist turned
vision scientist, Rajan studies various low level visual functions
using psychophysical techniques. He is a two time recipient of of
the Best Junior Faculty award at his earlier employments. He was a
founding member and the Optics curriculum coordinator for what is
now known as the Common Minimum Optometry Curriculum for India
(2009) which is used as the gold standard for Optometric education
in India. He also served as the a member of the task force
constituted by the Ministry of Women and Family Welfare, Government
of India, that deals with setting standards for the profession of
Optometry in India. He has supervised a large number of
undergraduate and postgraduate student research projects and has
published widely in the fields of spatial vision, visual
psychophysics, signal processing, etc.
"Understanding Optics with Python by Vasudevan Lakshminarayanan,
Hassen Ghalila, Ahmed Ammar and Srinivasa Varadharajan is born
around a nice idea: using simulations to provide the students with
a powerful tool to understand and master optical phenomena. The
choice of the python language is perfectly matched with the overall
goal of the book, as the python language provides a completely free
and easy to learn platform with huge cross platform compatibility,
where the reader of the book can conduct his own numerical
experiments to learn faster and better."
— Costantino De Angelis, University of Brescia, Italy"Teaching an
important programming language like Python through concrete
examples from optics is a natural and, in my view, very effective
approach. I believe that this book will be used by students and
appreciated greatly by instructors. The topic of modelling optical
effects and systems where the students should already have a
physical background provides great motivation for students to learn
the basics of a powerful programming language without the
intimidation factor that often goes with a formal computer science
course."
— John Dudley, FEMTO-ST Institute, Besançon, France"This book is
unusual in that it serves two purposes: teaching the students to
program using a simple, open-access programing environment, and
learning optics along the way. The list of topics in optics covered
by the book is quite broad. The first part of the book focuses more
on the Python side, introducing methodically and clearly the
different aspects of programming in this language. However, even
from some of the early examples, basic concepts and functions in
optics start to be used. This way, the student practices her/his
programming skills but at the same time gets familiar with the
mathematical tools that will be useful when the book transitions
into optics. This book would be very well fit for an advanced
undergraduate course or even a first year graduate course."
—Miguel Alonso, University of Rochester, New York, USA"This highly
recommended textbook provides an innovative approach to learning
geometrical and physical optics. The book simultaneously solves two
pedagogical requirements: how to code with Python and how to
simulate optical phenomenon. A bibliography and an index are
provided, and the book’s website contains all of the codes and
programs. It is suitable for undergraduate and graduate
students."—Barry R. Masters, Fellow of AAAS, OSA and SPIE
![]() |
Ask a Question About this Product More... |
![]() |