(108f) Open Source Python-Based Application As an Interactive Spectroscopic Teaching Aid | AIChE

(108f) Open Source Python-Based Application As an Interactive Spectroscopic Teaching Aid

Authors 

Spectroscopic techniques are unquestionably valuable for understanding structural and compositional changes in complex chemical, biochemical and biological systems. Consequently, spectroscopic techniques are increasingly incorporated to undergraduate/graduate curricula to prepare the next generation of engineers for successful careers in industry and academia where applications include reaction monitoring, quality control, and process control etc. Spectroscopic pedagogy excels in theory and interpretation of spectra and some educators are shifting towards programming-based lessons to introduce certain topics. The interactivity and exposure of computer science in the field of chemistry are advantageous in a future scientist’s career.

Among the challenges in traditional spectroscopic pedagogy, two stand out: the practical aspect of collecting meaningful and reproducible data along with the relevant and necessary pre-processing prior to any interpretation. Lab-based sessions are expensive and certain techniques may be prohibitively long or sensitive for students to broach topics such as instrumental parameters or background drifts. Through programming-based modules developed for education, these topics can be introduced earlier to make higher education level students aware of the reality of spectroscopic techniques in addition to the theory. Continuing our previous work, we have transitioned our previous application to Python to better utilize an open-sourced framework. In addition, the application is further enhanced in this transition for the educator by incorporating chemometric analysis, data extraction, as well as advanced preprocessing techniques that will assist in teaching Raman spectroscopy, such as the Stokes – Anti-Stokes temperature ratio. The benefits and pitfalls of developing using Python, in the lens of previously using MATLAB, are also discussed.