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.
If you want more STEMcoding content, check out the STEMcoding YouTube channel. If you would like to 2.0 graduate credit hours in STEMcoding coursework, check out the AAPT-affiliated courses from STEMcoding.
For those in academia, use this link: http://go.osu.edu/physics_coding
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.
|Hubble Diagram using SDSS Data||Astronomy||Modeling/Data Science|
|Measuring Distance with Light||Astronomy||Modeling|
|Relative Abundance of Europium with Spectroscopy||Astronomy||Modeling|
|Air Drag Modeling with p5js||Physics||Modeling|
|HR Diagram Introduction||Astronomy||Modeling/Data Science|
|Kepler’s 3rd Law||Astronomy||Modeling/Data Science|
|Air Drag Analysis: Video vs Modeling||Physics||Physics|
|RET 2021 Modeling Air Drag with Unity vs p5js||Physics||Physics|
|Exploring Simple Circuits||Physics||Physical computing|
|Micro:bit Stoplight Lab||Phyics||Physical computing|
|Capacitors in Series and Parallel||Physics||Physical computing|
|Photoplethysmography with Microcontrollers||Physics||Physical computing|
Images of class solar observing event (Feb 3, 2023): https://flic.kr/s/aHBqjAzkSa
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.
Open this page: https://jimmynewland.com/htmldemo.html
Searching for Europium using Stellar Spectroscopy
The complete activity is meant to take a full class and maybe even two.
We are going to compare the relative amount of the elements nickel and europium in a couple of stars.
Plotting A Stellar Spectrum
Watch the “HOW TO” video: https://www.youtube.com/watch?v=XkOUVOJrtrQ
- If you haven’t already, copy the data to your Google Drive (use your initials in the file name).
- 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
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!
CSTA CS Across the Curriculum Talk
UH Research Experience for Teachers 2021 Symposium
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.
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.
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.
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.
This work is licensed under a Creative Commons Attribution 4.0 International License.