Scientists and engineers eventually find themselves in the position where they need to perform long or repetitive calculations in order to solve a problem. There are lots of great programming languages available for such purposes, and the task at hand determines which language will provide the best solution in the time available. Being able to work with several computational languages and programs is a valuable skill, but being able to perform rapid engineering calculations that provide visualization or graphical representations of the results is a real plus in any computational exercise.
Optical engineers and scientists use a wide range of sophisticated software
and simulation packages ranging from ray-tracing programs that track light rays through an optical system to designing interference filters and much more. Having the ability to write and tune custom-built software for particular applications will have great appeal for many practitioners in the field. It will also be appreciated that the skills needed to develop and customize software for both calculation and visualization can be readily gained with modern software packages tailored for scientists and engineers. With the aim of developing such skills, we will build the capability of developing basic software programs before we move to applications of interest to optical engineers.
The choice of software for many engineers and scientists is MATLAB, which provides much of the functionality needed for scientific and engineering programming tasks. MATLAB is very easy to learn and has a wide array of calculation and graphical capabilities. It also has a wide user base, so many excellent books and tutorials on numerous aspects of science and engineering are available.
Online access to SPIE eBooks is limited to subscribing institutions.