Skip to main content

You Physics Teachers Really Ought to Teach Numerical Calculations

https://www.wired.com/2017/03/physics-teachers-really-teach-numerical-calculations/

I love including numerical calculations in my introductory and advanced physics courses. I find that including coding in the introductory physics course forces students to think in different ways to better understand physics. Numerical calculations are such an integral part of real world physics that it would be wrong to not include them in the intro courses. And at this point, I think my colleagues have run out of excuses for not including numerical calculations in these classes.
What is a numerical calculation? You might know it by another name—computational physics, numerical models, or even coding in physics. The basic idea is break a problem into many smaller problems. If you want an example, have a look at this older post on the three-body-problem. Although it’s usually the easiest to create a numerical calculation with a computer, you could technically do it on paper.
This is the way things work in the “real world.” Countless problems beyond the academic setting can only be solved numerically. Beyond physics, you find numerical calculations in chemistry, math, economics, meteorology—you name it. Not only are numerical calculations useful, there are great tools for implementing them into lesson plans. I like python (the programming language, not the snake) because I find it relatively easy to learn and it does all the important stuff. Even better, you can run python on your phone.
I introduce students to numerical calculations by instructing them to create their own code to solve a problem. Let me share with you what happens next.

Student Feedback at the Beginning

Picture the scene. I go over the basic principles of numerical calculations and create a program from scratch (probably a model of a mass on a spring). Then students get to make their own numerical calculation, and I don’t even make them use python.
At this point, students have many concerns. Some express frustration that physics has turned into a programming course. Of course that’s simply not the case, unless you also consider physics is a literature course because it involves reading. Physics draws on skills from many fields (math, communications, drawing), which is one reason physics is awesome.

Other students deflect their anxiety into another issue like claiming they are a Mac person or a PC person, but python is platform agnostic (another thing that makes it great). Some students are simply afraid. They find the task too daunting and think they’ll never make progress. A few are too ambitious and want to begin with entirely too complex a program.

Sometime Later, While Working on Projects

Once students get started on their coding project (and past their initial fears), things start getting better but not perfect.  Many students fall back on their tendency to start with a Google search. This isn’t bad in of itself, but it can lead students to try using code they don’t fully understand. I find it far better to start with a simple problem that a student could have complete mastery over.
The other big issue I see is that students find problems with vectors and scalars.  This comes up more often than coding errors. What happens is a student will calculate the gravitational force on a planet due to a star, but find the scalar value of this force. When the student tries adding a scalar to a vector to update the planet’s momentum, the program doesn’t work. I like this because it helps students understand the vector nature of forces.
Some students see significant progress with their project during this phase  They not only get something working like a moon orbiting a planet, but they can also show that momentum is conserved. Better yet, students start learning how to graphically show the total momentum in one direction as a function of time (as a graph).

Near the End of the Project

I find this to be the best part of the semester. I know students have trouble starting numerical calculations, but I find watching them progress rewarding (for them, and for me). Of course they still experience some problems. I often find that some students with experience in Java (the computer science department has students use Java) write interesting programs. These students tend to make complicated input/output algorithms but often miss the numerical calculation point. In the end, they have a program that calculates something without breaking it into many small steps. Don’t worry, I let them fix their programs until they get something they are happy with.
But some students start taking things to a higher level. After making a simple falling ball, they want to make a ball bounce off a surface (trickier, but not impossible). Or after making a moon orbit a planet a student might want to add a third object to gravitationally interact with the other two.
All of which is to say I strongly encourage using numerical calculations in class. Any difficulties students experience are worth the increased understanding and skills they get from the lessons. You don’t know where to start? No problem. I’ve started compiling some online material to walk you through a numerical calculation. It’s essentially an online course at trinket.io. Yes, it’s not quite finished but it should be enough to get you started.

Comments

Popular posts from this blog

The Difference Between LEGO MINDSTORMS EV3 Home Edition (#31313) and LEGO MINDSTORMS Education EV3 (#45544)

http://robotsquare.com/2013/11/25/difference-between-ev3-home-edition-and-education-ev3/ This article covers the difference between the LEGO MINDSTORMS EV3 Home Edition and LEGO MINDSTORMS Education EV3 products. Other articles in the ‘difference between’ series: * The difference and compatibility between EV3 and NXT ( link ) * The difference between NXT Home Edition and NXT Education products ( link ) One robotics platform, two targets The LEGO MINDSTORMS EV3 robotics platform has been developed for two different target audiences. We have home users (children and hobbyists) and educational users (students and teachers). LEGO has designed a base set for each group, as well as several add on sets. There isn’t a clear line between home users and educational users, though. It’s fine to use the Education set at home, and it’s fine to use the Home Edition set at school. This article aims to clarify the differences between the two product lines so you can decide which...

Let’s ban PowerPoint in lectures – it makes students more stupid and professors more boring

https://theconversation.com/lets-ban-powerpoint-in-lectures-it-makes-students-more-stupid-and-professors-more-boring-36183 Reading bullet points off a screen doesn't teach anyone anything. Author Bent Meier Sørensen Professor in Philosophy and Business at Copenhagen Business School Disclosure Statement Bent Meier Sørensen does not work for, consult to, own shares in or receive funding from any company or organisation that would benefit from this article, and has no relevant affiliations. The Conversation is funded by CSIRO, Melbourne, Monash, RMIT, UTS, UWA, ACU, ANU, ASB, Baker IDI, Canberra, CDU, Curtin, Deakin, ECU, Flinders, Griffith, the Harry Perkins Institute, JCU, La Trobe, Massey, Murdoch, Newcastle, UQ, QUT, SAHMRI, Swinburne, Sydney, UNDA, UNE, UniSA, UNSW, USC, USQ, UTAS, UWS, VU and Wollongong. ...

Logic Analyzer with STM32 Boards

https://sysprogs.com/w/how-we-turned-8-popular-stm32-boards-into-powerful-logic-analyzers/ How We Turned 8 Popular STM32 Boards into Powerful Logic Analyzers March 23, 2017 Ivan Shcherbakov The idea of making a “soft logic analyzer” that will run on top of popular prototyping boards has been crossing my mind since we first got acquainted with the STM32 Discovery and Nucleo boards. The STM32 GPIO is blazingly fast and the built-in DMA controller looks powerful enough to handle high bandwidths. So having that in mind, we spent several months perfecting both software and firmware side and here is what we got in the end. Capturing the signals The main challenge when using a microcontroller like STM32 as a core of a logic analyzer is dealing with sampling irregularities. Unlike FPGA-based analyzers, the microcontroller has to share the same resources to load instructions from memory, read/write th...