Attending CAST 2023? Come hear about how science teachers can use authentic data and Google Colab with Python to explore stellar spectroscopy. Thursday at 1 PM in room 350F in the George R. Brown convention center.
Welcome to the AAPT Summer Meeting 2023 Coding Integration and Data Science Integration in High School workshop. The workshop is happening in Ballroom A09 in the convention center.
Registered participants should direct their web browser (Chrome, Firefox, Safari, or MS Edge) to https://stemcoding.herokuapp.com/ and ask your instructor for the join key.
Computational thinking is a natural thing to incorporate into physics and astronomy. Students can learn to create interactive models, create, collect, and visualize datasets, and ask questions that only make sense to answer with a computer. Participants will hear about current research in computational thinking using coding, where science pedagogy can leverage computer science pedagogy to allow students to construct knowledge in both domains. Some model activities using computer programming and lessons incorporating computational thinking will be shared and discussed. All code is available as open source, and all lessons are shared as Creative Commons material.
Here is a list of the coding-based labs and activities I have used in physics and astronomy. There are not really in any kind of order. All work is shared via the Creative Commons Attribution-NonCommerical-ShareAlike 4.0 license. Feel free to use the content here for non-commercial purposes, but be sure to provide attribution.
We have scoped out a spot in the front of the school with a clear view of the southern sky and lots of room for people outside. We have a new Sun Spotter scope which will be run by one of the other science teachers to make sure no one ends up with the sun reflected in their face. We also have two pairs of solar-safe binoculars that the teaching team has been trained to use. We also have 4-5 pairs of regular binoculars, which can be turned into solar-safe using gaffers tape and a pair of eclipse glasses. We will tape each solar filter over one binocular lens using gaffers tape to ensure no stray light enters the lenses. There is also a large tarp where we can poke a few small holes to make a pinhole camera setup.
On the morning of April 8th, the teacher team will gather the equipment and confer with the admins on how and when students will be allowed outside. The idea is to have the equipment set up one hour before the start of the eclipse and run through 4th contact if possible. Students will be encouraged to make their own pinhole camera setups using cereal boxes, large cardboard boxes, or something similar. The area where observing will be happening will also have as many eclipse glasses as possible to ensure no one is looking at the sun without protection at any point.
One telescope will be set up low to do projection viewing of the sun if the teachers are comfortable using the telescope without me there. There will also, hopefully, be a computer and large TV set up near the main doors leading outside with web coverage of the total solar eclipse so people can watch along safely.
Highlight the 2 columns of data. Most spreadsheets will assume the left column goes on the x-axis and the right column goes on the y-axis. This data is ready to go since column A is the wavelength in Angstroms and column B is the relative flux or amount of starlight. You can think of this as the brightness of a particular wavelength.
The easiest way to measure with the plot is if the chart type is set to ‘smooth line’.
Change the title of the graph to “Star name Spectrum” but use the real star name. 🙂
Change the y-axis title to Relative Flux or something similar.
Change the limits on the x-axis and y-axis so just the region with the absorption feature is visible.
Change the tick marks on the x-axis and y-axis so you can easily read off the plot. I used 0.05 on the y-axis with 4 minor marks and 0.1 on the x-axis with 4 minor marks. I also turned on all the various tick marks.
Determining atomic abundance: Equivalent Width
Example plot for determining the equivalent width for absorption feature.
How to measure equivalent width
First, count how far down from 1on the y-axis the “bell curve” bit goes and write that in a cell labeled Max Abs or something similar. This is the maximum absorption for this feature.
Next, in an adjacent cell, hit = to enter a formula and click on the cell where you typed the value for the max absorption and divide that by 2. This is the half-max value.
We will use the half-max value to count down from 1 on the y-axis to where the curve meets that y-value on both the right and the left. Write down in an empty cell the left wavelength where the curve meets that half-max value and then write down in another empty cell the similar value on the right side of the curve.
Next, click an empty cell and click = to enter a formula. Be sure to put the difference between the right and left values in parentheses before you multiply by the max absorption.
This value represents the equivalent width for this spectral feature. This is a numerical way to describe the relative abundance of a particular atom for a star. (Note: this is not the actual number of a particular atom.)
Repeat for the other stars!
Plotting Spectra with Python and Google Colab
You can also try out some Python coding to plot the stellar spectra using Google Colab Notebook. Give it a try!
The Kepler spacecraft made some incredible discoveries over the years. The planetary system Kepler-11 is very interesting. It is a very compact solar system with 6 planets. Of course, the spacecraft is named for Johannes Kepler who first empirically determined the now famous three laws of planetary motion.
I felt like this small dataset would make a great computational thinking (CT) activity. CT can mean writing programming code or working with a spreadsheet to do some data science or creating or using a model or simulation. The goal is to explore Kepler’s 3rd law of planetary motion.
Kepler’s 3rd Law
In the original activity, students linear the data set using Kepler’s 3rd law of planetary motion to determine the mass of the star Kepler-11. Check out the spreadsheet version here. This is meant to be an introductory exercise is working with data in a spreadsheet. Students create a plot and answer questions using some basic skills.
Spreadsheet Version of Kepler’s 3rd Law Lab
Although the spreadsheet version of the lab worked out pretty well, I decided to make a Desmos calculator version. Students can work with the whole list of planetary data all at once. This is more like a students creating a numerical model to find the mass of the star. Check out the Desmos version here.
Desmos Version of Kepler’s 3rd Law Lab
Finally I decided to create a version of the Kepler’s 3rd law lab using some Python code in Google Colab. This version uses some standard data science techniques to determine the mass of the central star in the Kepler-11 system. Check out the Google Colab version on my GitHub repository.