Python Introduction for IMOD OMS^3, 2026#
An introduction to Python for participants in the 2026 IMOS OMS^3 Summer Course at the University of Washington (IMOD is the NSF Center for Integration of Modern Optoelectronic Materials on Demand). This course will provide a foundation to the Python programming language and “ecosystem” specifically, and programming and open-source software more generally.
This site was adapted from a site created for the Summer Undergraduate Research (SURP) Program at the University of Washington Applied Physics Laboratory.
Goals#
Provide exposure to the Python programming language and scientific “ecosystem” specifically, and programming and open-source software more generally.
Provide a ramp for future, self-guided learning to both strengthen core topics that were covered and explore new topics.
With open-source software, we build on the work of others, contribute back to it, and build something new on top in collaboration with others. Here we’ll rely on existing, open, actively maintained community resources for the learning materials.
Schedule and Lesson plan#
Introductions (15 min)
About Python and the lessons (15 min)
Project Pythia, the source of our lessons (tutorials)
Jupyter. We’ll focus on Running Notebooks in JupyterLab. See Getting Started with Jupyter for a broader introduction to Jupyter
Running lesson notebooks with the “Binder” link
Quickstart: Zero to Python (40 min)
Questions
Break (15 min)
Core scientific and data libraries
Numpy Basics. Array computations with Numpy (30 min)
Matplotlib Basics. Basic plotting (30 min)
Pandas Basics. Labeled tabular data (through “Basic statistics” section) (30 min)
Questions
Break (15 min)
Domain example:
pymatgen(Python Materials Genomics), “a robust, open-source Python library for materials analysis.” I learned about it through the website of the Washington Clean Energy Testbeds. I’ll demonstrate just a bit of very basicpymatgencode (5 min)Questions and open discussions