Faculty members in the U.S. Naval Academy (USNA) Oceanography Department are embarking upon a new voyage: to learn Python. The USNA Oceanography Department has traditionally used Matlab as the primary tool to analyze and visualize geosciences data. To build on that coding success and align with the efforts of the geosciences community, at the start of the spring 2020 semester, Associate Professor Bradford Barrett and Instructor Alexander Davies organized a “Python Book Club” in which faculty members meet once or twice a month to collaboratively learn Python. Because USNA is a small undergraduate-only institution with resource limitations and complex federal networking restrictions, Barrett (USNA’s UCAR Representative) and Davies (currently serving on the Unidata Users Committee) reached out to Unidata for help.
Unidata software developer Julien Chastang set up common Python JupyterHub environments for all “Python Book Club” participants on the Unidata Science Gateway. (The Science Gateway is supported by the National Science Foundation’s Jetstream project and in collaboration with XSEDE Extended Collaborative Support Services (ECSS).) To kick off the first meeting of the “Python Book Club,” Chastang provided a JupyterHub orientation and coding demonstration via Google Hangouts. Few of the participating faculty members had prior working experience with Python or cloud-based coding, and Unidata’s Science Gateway allows them to interactively learn Python while also becoming more comfortable working in a cloud environment.
The “book club” model of collaborative learning has proven to be successful. Before arriving at a meeting, participants are asked to read assigned sections or chapters of “Python Programming and Visualization for Scientists,” by Alex DeCaria. During the meetings, participants interactively work through the Python examples using JupyterHub on the Unidata Science Gateway, ask questions, and experiment with different coding approaches.
“This approach works because we have an informal group of peers, with similar coding experience, and we are all working toward the same goal,” said Commander Allon Turek, a rotational military instructor within the USNA Oceanography Department. “As an established Matlab user, this model represents an accessible way to learn Python, and JupyterHubs are an approachable platform.”
The USNA Oceanography Department has embraced data collection, analysis, and visualization throughout the curriculum. While there are no formal programming courses offered, almost every core course within the major has a lab component with programming outcomes, and the programming skills being taught build upward throughout the major course sequence. Python and JupyterHubs represent an exciting potential alternative to Matlab.
“At the Naval Academy we are always looking for ways to innovate within our curriculum,” said Barrett. “In order to do that effectively and fulfill USNA’s unique mission, we need to be on the cutting edge. We have noticed that the geosciences community is increasingly moving toward Python-based coding. We need to equip our students with those tools and Unidata has been invaluable in helping us achieve our goals.”
Editor's note —
The Unidata Program Center is committed to continuing to develop, test, and deploy cloud-based resources for the university community. If you have a project you think could benefit from Unidata Science Gateway resources, please contact us by e-mail at email@example.com. You can also learn more about the Science Gateway's JupyterHub features in this blog post.