The STEMcoding project has been a leader in developing computationally focused content for high school physics and physical science, as highlighted by our 2018 STEM for All video. That video discussed our "Physics of Video Games" hour of code activities and the STEMcoding youtube channel, which includes video tutorials featuring women and students from underrepresented groups. In this video we will highlight our unique approach to computational thinking and how coding activities integrated into these courses can reinforce traditional learning objectives. This latter goal is supremely important for the wider effort to integrate CS into STEM courses and we interview teachers who can comment on the efficacy of our curriculum in their classrooms.
Paul Craig
Does anyone do this for chemistry or biology?
Chris Orban
Assistant Professor
We're trying slowly to expand into those areas.
We have an "Earth Day" coding activity that is basically environmental science. here is the link:
https://www.youtube.com/watch?v=geGJoRJjHGI&...
More often we get requests for chemistry coding activities because there are a lot of physics teachers out there who also teach chemistry. I have some good ideas to make more chemistry coding activities.
Right now the main thing we have for chemistry is two coding activities that really don't seem like they are for chemistry even though they are. We have a two-part coding activity where students code up the game of Pong (which invites a discussion of elastic collisions and on some level the ideal gas law), and then they add gravity to Pong (which helps to demonstrate that the pressure is always higher the lower altitude you are).
Here is the link to the two part activity I just mentioned: http://go.osu.edu/hourofcode3
You can also find it on hourofcode.com if you know where to look.
Roxanne Hughes
What are your outcomes (e.g. for students and teachers) and how do you measure them?
Chris Orban
Assistant Professor
The learning objectives of all of our coding activities is to reinforce the existing curriculum in physics, physical science and math classes. So instead of using a PhET simulation for projectile motion, for example, students could complete our angry birds coding activity instead. We also need to check if the activities are at an appropriate difficulty level. In this first study that we did we emphasized attitudinal questions:
https://aapt.scitation.org/doi/10.1119/1.5058449
We are in the process of developing animated questions that probe student conceptual knowledge. For example, can students correctly draw the velocity and acceleration vectors of a moving object? We think activities like these may be very helpful for this. Another useful question type is choosing the correct trajectory. It turns out there is an animated Force Concept Inventory (AFCI) that has questions like these: https://journals.aps.org/prper/pdf/10.1103/Phys...
Overall we think that the process of completing these coding activities causes students to think more critically about the dynamics. That is ultimately what we are trying to assess.
We also have some ideas for assessing computational thinking but they are less far along.
By the way, here is our magnetic field coding activity:
https://www.asc.ohio-state.edu/orban.14/physics...
Students incorporate the magnetic force into a code and measure the gyroradius to see if it turns out to correspond to the expectation from the gyroradius formula. It shows that particles naturally move in a circle from simple principles.
Abby Funabiki
Associate Executive Director
Because coding/programming is often an elective in high school, I appreciate that you are infusing it into required courses. It seems like a great way to expose all students to some basic coding concepts and tools. That being said, I wonder if infusing it in other STEM courses could potentially alienate the same students who already feel like STEM isn't for them. Have you considered integrating similar activities in social studies, ELA, or other required (non-STEM) courses? Thanks for your work in this field and any additional information!
Chris Orban
Assistant Professor
I did once reach out to our local linguistics department to find collaborators but couldn't find anyone to work with us on activities for linguistics or foreign language even though I agree that would be a really good way of introducing coding to students who might not otherwise be receptive to it.
More broadly, I would say that there should be an alternative to the code.org CS curriculum that emphasizes math, science and linguistics applications. In many states computer science classes can be taken instead of a science, math or foreign language course. Rather than grumbling about this development, I think there should be a national effort to create a CS class that reinforces science, math and linguistics learning objectives rather than just letting tech companies write the curriculum for millions of students.
That being said, the focus on video games does seem to help to make students feel interested in what they are doing. The attitudinal assessments that we have from trials with OSU college freshman were encouraging. I would love to be able to quantify that better. One anecdote I can share is that my 12 year old daughter is adamant that she isn't interested in STEM or coding and refuses to work with me on coding activities, but when I ask her what kind of video game I should make for her (using the STEMcoding tools) she looks over my shoulder and wants to press the buttons and type in numbers to change the colors, etc. Video games are the great equalizer of our time. Studies show that boys and girls both play video games, although the types of games vary.
Abby Funabiki
Abby Funabiki
Associate Executive Director
Including women and students from underrepresented groups in your video tutorials is a seemingly small change. But I'm so glad you recognized this as important! Do you know if this has made any difference in whether underrepresented groups connect with these activities or feel more like they belong? I know I would!
Chris Orban
Assistant Professor
Anecdotally, many formal and informal educators have told us that this is a huge help. One of the high schools that works most closely with us is a public school in Los Angeles that really appreciates the videos. The unfortunate reality is that STEM resources on youtube are typically not very diverse. Certainly there are exceptions to this rule, but perhaps only 1-2 of the most popular physics youtube channels are female led, for example.
Another complication is that we typically don't encourage students in a physics class to use these videos when completing the activities since they essentially provide the solution. We need to know what students learn from slogging through the activities themselves or with a small group. But in general it is up to the teacher. If there are a bunch of snow days like there was this year then teachers might want to use the videos as a flipped classroom resource. It complicates the task of running a study but it's something we have to think about.
Abby Funabiki
Kathy Gustavson
As a recently retired physics teacher I see the immense value of combining these two topics. How long are your workshops? Where do you typically present these workshops? And what coding language do you use?
Chris Orban
Assistant Professor
The teacher in the video participated in our four week long online workshop. This involved three 45 minute video chats each week and the teachers also worked through the coding activities on our learning management system (stemcoding.osu.edu) much like their students would. Each video chat covers one of the STEMcoding activities and teachers should try to finish the activity and the reflection questions beforehand. For the tougher activities that appear later in the sequence we spend the 45 minutes talking about the solution and common mistakes students make. For more straightforward activities we talk about additional challenges that students can do like adding a projectile to the asteroids game (which is a task that involves both coding skills and physics knowledge). These challenges would be a good starting point for "project based learning" or "challenge based learning" and nearly all of our activities have these extra pieces if students or teachers are interested to pursue them.
We do typically have an in-person workshop before the national meetings of the American Association of Physics Teachers and we have one coming up at the meeting scheduled in Provo, Utah in July and hopefully again in January at the meeting being planned in Orlando. Next year we will try to do a week-long workshop at the Pathfinders Summer Institute in Bloomington, Indiana which is one of the most well attended professional development institutes for computer science education in the country. We were going to do this in summer 2019 but it didn't quite work out. We try to visit AAPT chapters in cities in the midwest as we can. Our travel schedule is here: https://u.osu.edu/stemcoding/events/
For this summer, we will have a free online workshop for CEUs June 17-28, and then we will again offer the four week workshop in July for grad credit through OSU. Thanks to funding from the American Institute of Physics we can offer free grad credits to physics and physical science teachers. This is a big incentive for teachers who might not otherwise be interested or feel like they have the skills to integrate coding into their courses.
The language we use is javascript and typically when you use javascript you are also using a library for it. We use a library called p5.js (http://p5js.org) which was developed by a group of arts educators. There is actually a pretty large user base for p5.js and the effort is closely connected to Dan Shiffman's Coding Train youtube channel (https://www.youtube.com/user/shiffman) which is probably the most watched coding-focused channel on youtube.
We are often criticized for not using vpython (especially by physics folks). Our decision not to use python had a lot to do with the need to make the codes highly interactive and game like. Only a few weeks ago did vpython have the keyboard interactivity needed to run our "move the blob" exercise ( http://go.osu.edu/movetheblob ) which is the starting point for us. There are other issues with vpython such as the inability to define subroutines in another file, which is key to making the student-facing code concise and focused on physics to the extent possible. I had a conversation with vpython creator Bruce Sherwood last weekend about this but even with the keyboard improvements there are some issues here. Of course vpython does do a better job than p5.js of rendering 3D graphics, but that is not a big emphasis of the STEMcoding activities and I don't expect that it will be. Students can learn projectile motion in the xy plane just fine in my opinion without worrying about the z direction.
From a physics perspective, javascript (at least in the way we use it) has a great deal in common with C or C++ or Java, or at least it has more in common with these languages than it does python (which uses tabification instead of curly brackets to determine the logic of the program). My understanding is that the oldest of the three AP computer science exams is based in Java, so perhaps students are slightly more prepared for taking that exam than if we had used vpython.
Kathy Gustavson
Quinn Burke
Senior Research Scientist
Chris & Richelle - thanks for sharing! Like the YouTube clip and especially appreciate the teacher's testimonial. I have been in touch with a number of districts looking to integrate computational thinking (CT) into science coursework via NGSS - I see in the discussion thread here, you are considering some assessment around CT. Can you elaborate here a bit?
Chris Orban
Assistant Professor
We are still formulating an assessment for CT in physics and physical science and the video provided one such example. Richelle and I went to a computational thinking in physics conference last weekend at the American Institute of Physics and got to see what other groups are doing in this regard and contribute to some of the discussion moving forward. That group plans to write a report that they hope will inform future CT funding at NSF. We would love to work with more districts on CT assessments and integration. Keep us in the loop!
Computational thinking was a relatively new idea when the NGSS was written in 2013. I would say that the the main impact of computational thinking on the NGSS was in encouraging the writers to mention "computer simulations" at various places and by "computer simulations" they seem to mean computer based interactives like PhET where students do not see the code. The following year, in 2014, code.org was founded and computer simulations where students do see the code slowly became more widespread in K12. So I would not look to NGSS as a computational thinking guide. Look instead perhaps to the CSTA standards or whatever computer science standards your state has adopted. Typically these "computer science" standards are K12 relevant and for the younger grades it is more CT than CS.
In terms of assessing CT, what a lot of CT assessments do is show students example codes (whether block based or text based) and see if they understand what it does, or they ask if students to comment on what a particular line of code does. I think this is a good approach. I would like to see more assessments where students are shown a little bit of code that has subtle-to-obvious flaws in it and see if they can identify it.
For a different approach to CT, Northwestern has a big compliation of CT assessments here:
https://ct-stem.northwestern.edu/curricula/asse...
Both approaches have value. I tend to think we need to learn more about the code-focused (a.k.a. "contextual") assessments before we try to do more language-independent CT assessment.
But in the end, I think CT has to be understood as primarily a math concept. It is unreasonable to expect science teachers to shoulder the entire burden of integrating CT into the schools. The only thing that makes sense to me is if there is a little bit of CT in every class. The alternative is a radical redesign of science classes that would remove a lot of content that the NGSS would say is essential. Please tell your districts that math has to be on board.
Chris Orban
Assistant Professor
I should mention that there is a part of the NGSS that talks about making a computer simulation to model human impact on climate. Our Earth Day coding activity lines up rather well with that learning objective. Here is the video:
https://www.youtube.com/watch?v=geGJoRJjHGI&...
Lisa Miller
Teacher
Thank you for sharing your video! I look forward to following some of the links you provided. Are you finding it challenging to find science teachers who are comfortable and knowledgeable enough with coding and computational thinking to be willing to incorporate your activities into their curriculum? Also, have you done any evaluations that assess changes in student attitudes toward cs and their interest in taking cs classes after completing your activities. I realize this may be outside the scope of your project.
Chris Orban
Assistant Professor
We do get a lot of "early adopter" science teachers who find us on twitter and youtube. To reach teachers who might not be as equipped to integrate coding we offer free graduate credit through online training over the summer. This is a big incentive. It saves them hundreds of dollars.
We do have attitudinal questions as part of our assessments but we haven't published on those yet. We borrowed some questions from existing CS attitudinal assessments. This is a really important part of the work moving forward!
Lisa Miller
Jared O'Leary
I appreciate this exploration of the intersections between physics, coding, and video games. This would have been a very enjoyable way for me to explore physics when I was in high school, as I would have been able to tinker with each variable to better understand how they influence the simulation. I'm curious if kids are coding everything from a blank page or are working on semi-completed programs (or a combination of different scaffolding). I ask because some of the scholarship on mod culture suggests a semi-completed program is more motivating for novice programmers than working from a blank slate.
Abby Funabiki
Chris Orban
Assistant Professor
Thanks for your comment! The students always start from what I would call a "minimally working program". We often have the students play with a 1D code, for example, the rocket from asteroids able to accelerate horizontally but not vertically. The students then go line by line to modify the code until the rocket can move in two dimensions. This is nice because it naturally pushes the student to understand what each part of the code does.
We talk about the asteroids game (motives, design, outcome) in this paper:
https://aapt.scitation.org/doi/10.1119/1.5058449
Jared O'Leary
Jared O'Leary
Great to hear and I agree that such an approach encourages students to understand each part of the code! I appreciate the response and look forward to reading the paper you linked to!
Kathy Perkins
I enjoyed your video, Chris. Great project! Love to see students doing the coding and exploring what happens when you change the physics itself! So happy to have had a chance to learn more in person at the OH-PKAL conference.
Further posting is closed as the showcase has ended.