Tournament Advice & Tips

From Jonathan Keohane, Problem Master 2018-2025

Advice for the Reporter

  • Keep it simple.
    You have been working on this problem for about a year, but many of the jurors just saw the problem today. These jurors need for you to first clearly explain the most basic physical principles at a level that a high school physics student could understand. Only after you have shown that you understand, and can communicate, the relevant fundamental physics, will they become receptive to your more nuanced analysis.

  • Use cartoons and toy models.
    In your presentation, illustrate the physics using your own drawings of your toy models. You should never have a slide with only words and equations.

  • Show diagrams and photos of your experiment.
    Make it clear how you took your measurements, without wasting time on less relevant details, even if you spent lots of time on these.

  • Never show an equation that you do not understand.
    It is common for students to look up a topic and write down an equation without understanding it. This usually ends with either the opposition, or a juror, asking about the equation and you looking very bad. It is much better to use a simpler equation, that you actually understand, than a more complicated one from some source.

  • Explain the physical principles behind all computer models.
    A computer is a powerful tool for iteratively solving complex problems using toy models and simple mathematics. The jurors care that you can explain all computer simulations in terms of their fundamental physics, using drawings and flow charts. Never say something like, “we used Euler’s method to solve this differential equation.” Rather, develop your own algorithm, based on the physics involved, and code it up yourself. Neither you, nor your audience, need care that you just solved a non-linear second-order differential equation. Again, explain the steps clearly using cartoons and flow charts in a way that any high school physics student would understand.

  • Use physical, not ad-hoc, models.
    An ad-hoc model is a mathematical model chosen because it fits the data. These can be quite useful in limited situations, such as interpolating between experimental data. However, ad-hoc models tell you nothing about the underlying physics, and their parameters have no physical meaning. Physical models, on the other hand, are derived from your physical theory. If you data fit a physical model, it supports the theory from which the model was derived. If the data deviate from the model, it means the physical model is either wrong or overly simplistic. So, you have not learned something.

  • Show units and error bars on all measured quantities.
    When you measure something, you need to find the errors in each measurement, and propagate these errors to obtain errors in your derived quantities, as I discuss in an overview of error analysis. Round your errors to one significant digit, and round the corresponding quantity to the same number of decimal places. This way you never display digits that are less significant than your margin of error.

  • Show your theory and data on the same graph.
    The best way to present data is graphical. A good graph should compare data to theory, and make a particular point. A good graph makes a particular point.

  • Prepare extra slides anticipating questions.
    If you choose to skip some details because of time constraints, prepare extra slides in case you are asked. For example, say you took data using some machine, be prepared to explain how it works if asked. Similarly, if you wrote a computer simulation, prepare some slides that show a more detailed algorithm so you can answer those questions.

  • Cite primary sources in context.
    Textbooks and encyclopedias are wonderful resources, but they are secondary sources. It is the convention in science to reference the first paper, or book, to have done the work involved. Since you are often referring to, or testing, some law of nature, you really should refer to, and cite, the original source if possible. A little bit of historical context makes for a much better presentation.

Advice for the Opposition

  • Have confidence, you are an expert and a peer.
    Sometimes a presenting team will talk too quickly or put up lots of equations without explaining them. Do not be intimidated by this! If you do not understand something it is because the presenting team did not do its job. It is their responsibility to be clear and explain things. It is not your responsibility to know what an obscure equation means. It is unlikely the jurors know what it means either. You look smart if you ask for clarification. For example, you may ask the presenter to explain an equation that you do not understand. You can always ask what are the underlying fundamental physical principles.

  • Stick to the most fundamental physics.
    You are usually more familiar with the particular problem than the judges, but the judges want to know if you, and the presenter, understand the fundamental underlying principles. Thus, it is your job to ask clarifying questions that both elucidate the problem for the judges and demonstrate your command of the material. If you think you understand it, clearly explain it back to the presenter and ask for agreement. Remember, most everything in physics can be understood using the concepts of force and energy, so always come back to the most fundamental concepts such as Newton’s laws, and the conservation laws of mass, energy, momentum, angular momentum, and charge.

  • Use the white board.
    Draw out your ideas in a clear manner so everyone can see. If you have a question, draw it, like you were a physics teacher in front of the class. Start with something very simple, called a toy model, and then move on to the actual experiment involved. If English is not your native language, you can communicate just as well using pictures.

  • Come across as curious, not combative.
    Alliteration is one of the most natural rhyming schemes in English, so “physics fight” just sounds fun. Notice the “f” sound in physics, fight, and fun. This is the only reason we call them “physics fights,” because in English it sounds better than “physics discussions,” or “physics questions and answers.” However, you will score higher as the opponent if you appear genuinely interested in understanding how nature really works. You, and the presenter, both worked on the same problem for about a year, and so you should be genuinely interested in how they solved it.

  • Do not discuss any of your own work.
    The whole focus of the discussion should be about the work of the other team. You are interested in what they did, what they concluded, and the evidence that they have that supports their conclusions. You will be severely marked down for discussing your own findings, rather than for asking good questions related to their work.

An Overview of Error Analysis

When you report a measurement of something, you must also report the error in your measurement. For example, say you measured the surface gravity of the earth, at your location, to be 9.816 meters per second squared. Does that mean that you would get exactly the same value if you reproduced the experiment? Does it mean that it could be 9.817 meters per second squared? Does it mean that it could be 9.836 meters per second squared? As you see, this is completely unclear. On the other hand, had you reported a value of, say, 9.816±0.005 meters per second squared, your reader would know that there is about a 2/3 chance of the real value being 9.811 and 9.821 meters per second squared.

In order to be able to report an error in your quantity of interest, you must also know the errors in each of your measurements. For example, say you had dropped an object and measured the time it took to fall a measured distance, then you would need to know the error in both the distance and the time to estimate the error. For example, if you dropped your object from a set height of 2 meters, you would need to report how well you knew this. For example, you may report something like: “The ball took 0.65 ± 0.02 seconds to fall from a height of 2.000 ± 0.002 meters.” That way the reader not only knows what you measured but also how well you measured it.

There are two ways to estimate your error in a measurement, and you should make a habit of always doing the first, and doing the second when at all possible. These are: (1) common sense at the time of the measurement, and (2) statistically by taking multiple independent measurements. In the second method, the error in each measurement can be estimated by finding the standard deviation of the measurements. If you estimated your errors correctly, these should be similar.

For example, say you dropped the ball from two meters above the floor with a ball dropper, you may notice that it could be off by a couple of millimeters, either way, so you report two millimeters as your error. That would be an example of method (1). On the other hand, say you did this 5 times and measured the fall times to be: 0.59, 0.61, 0.66, 0.70, and 0.68 seconds. Then you would surmise that the error in each measurement was about 0.05 seconds since the standard deviation is 0.0466 seconds.

So, how long did it take for the ball to fall the two meters? If each of the errors were random, with no mistakes, then you would want to average them. If, on the other hand, you had reason to believe one was a mistake, you would throw out that datum. For example, say the measurements were instead: 0.59, 0.95, 0.66, 0.70, and 0.68 seconds, you could assume that you made a mistake taking the 0.95 datum, as it 0.36 seconds greater than the average and the standard deviation with it was only 0.22. That said, you must be careful, as you would not want to bias your measurements.

Now, if your error were random, and the error in each one is known, what is the error in the average? Clearly it is less than it would have been had you only taken one measurement. But how much so? As it turns out the error in a sum is the square root of the sum of the errors, or in math notation:

σsum=i=1Nσi2\sigma_{sum}=\sqrt{\sum_{i=1}^{N}\sigma_i^2}

If all of the individual errors are the same, then this simply becomes:

σsum=Nσ2=σN\sigma_{sum}=\sqrt{N\sigma^2} = \sigma\sqrt{N}

Since the average is simply the sum divided by the number of samples, then the error in the sum is given by:

σavg=σsumN=σN\sigma_{avg} = \frac{\sigma_{sum}}{N} = \frac{\sigma}{\sqrt{N}}

Thus, in our example, you would report that it took 0.65±0.02 seconds for the ball to fall a distance of 2.000±0.002 meters. However, you would keep all the insignificant digits on your spreadsheet or other data analysis software.

Now that you know this, what is your value, and error in, g? Finding the best value is simple, we simply use the equation: g=2ht2g=\frac{2h}{t^2}. Plugging in the best values gives us 9.53 meters per second squared for the surface gravity. But, how well do we know this number?

In order to calculate the error in g, you must test how sensitive your equation is to changes in our measured values. This is called propagation of errors, and you can do it by simply calculating what your quantity of interest (g) would be if each of your independent variables were at its maximum and minimum expected values. Once you have done this for each of independent variables, holding the others constant, you must add up the errors in quadrature using the Pythagorean theorem.

In our example, we begin by calculating the error in g, only because of the error in the height. Keeping the time fixed at its best value, 0.648 s, and calculating g with h=1.998 m and 2.002 m, we get corresponding surface gravities of 9.52 and 9.54 meters per second squared respectively. Thus, the error in g, only due to the error in the height, is half the difference, or 0.01 meters per second squared. But what about the error in the time? Doing the same calculations, but keeping h=2.000 meters and allowing the time to be 0.627 and 0.669 seconds, gives us 9.52 and 9.54 meters per second squared respectively for g. Thus, the error, only due to the error in the time, is 0.61 meters per second squared. As this is much bigger than the other, it clearly dominates.

To find the error due to both, we add them in quadrature, like the way we found the error in the sum above. Thus, in this case:

σg=i=1Nσi2=(0.61m/s2)2+(0.01m/s2)2=0.61m/s2\begin{split} \sigma_g &= \sqrt{\sum_{i=1}^{N}\sigma_i^2}\\ &= \sqrt{(0.61 m/s^2)^2 + (0.01 m/s^2)^2}\\ &= 0.61 m/s^2 \end{split}

Finally, you would report the following as your conclusion: “The gravitational field of the Earth, at my location, is 9.5±0.6 meters per second squared.” Notice that we really only care about the error to one significant figure, and we round off the numbers accordingly so as not to distract the reader.

But, what is the REAL value of g? Is it not 9.81 meters per second squared, or whatever my physics book says? The answer is that you do not know, and you should not pretend that you do. It is a good idea to compare your value of g to someone else’s measurement to see if they are consistent, but make sure you cite your source. This is very important. By the way, in physics, it is customary to cite the paper of whoever actually made the measurement, even if you actually found the value in a secondary source like an encyclopedia.

If you are interested in the best measurements of g to date, you can read this review article about how geologists measure it to about 10 digits of accuracy in order to model the internal mass distribution of the earth.


If you have studied differential calculus, it may be easier to use it to propagate the errors, however you need to understand that this is no more correct than the way described above. So, if you have not studied calculus yet, there is no need to worry or to read further.

Recall that in order to calculate the error in what you want, you had to test how changes in each of your measured values (independent variables) affect the quantity of interest (dependent variable). We advised you to accomplish this by numerically calculating the quantity of interest in the maximum and minimum of each error domain (holding the other independent variables constant), giving you a range of resulting values.

For relatively small error bars, you can assume that the average slope over your error range is simply the derivative of your function at the measured point. Mathematically, let the independent variable g be written in function notation of two variables, g=g(h,t)g = g\left(h,t\right). Therefore we can rewrite the error due only to the error in h as:

σgh=12(g(h+σh,t)g(hσh,t))=(g(h+σh,t)g(hσh,t)2σh)σh=ΔgΔhσh\begin{split} \sigma_{gh} &= \frac{1}{2}(g(h + \sigma_h, t) - g(h - \sigma_h, t)) \\ &=\left( \frac{g(h + \sigma_h, t)-g(h - \sigma_h, t)}{2\sigma_h} \right) \sigma_h\\ &= \frac{\varDelta g}{\varDelta h}\sigma_h \end{split}

This simplifies to: σghδgδhσh\sigma_{gh} \approx \frac{\delta g}{\delta h} \sigma_h .

The symbol \partial is just like a d in calculus, but warns you that there is at least one other independent variable, which we are holding constant. This is called a partial derivative. Thus, in our example, the error due to both independent variables, is given by:

σg=(δgδhσh)2+(δgδtσt)2=(2σht2)2+(4hσtt3)2\sigma_g = \sqrt{\left( \frac{\delta g}{\delta h} \sigma_h \right)^2 + \left( \frac{\delta g}{\delta t} \sigma_t \right)^2} = \sqrt{\left( \frac{2\sigma_h}{t^2} \right)^2 + \left(\frac{-4h\sigma_t}{t^3}\right)^2}

Now, factoring out a factor of g, we get:

σg=(σhhg)2+(2σttg)2=g(σhh)2+(2σtt)2\sigma_g = \sqrt{\left( \frac{\sigma_h}{h} g \right)^2 + \left( \frac{-2\sigma_t}{t} g \right)^2} = g \sqrt{\left( \frac{\sigma_h}{h} \right)^2 + \left( \frac{2\sigma_t}{t} \right)^2 }.

Why is this easier? It is easier because you can calculate this once, and then have a single formula. Plus, it is very powerful. For example, as an exercise, use this formula to calculate the error in the sum of a bunch of quantities, and compare that to the error in the sum that we have above.

Similarly, you can use this to calculate the error in the average of a bunch of data each with its own error bar.

An Overview of Physics Modeling

Modeling physical systems is simpler than you may think, so do not make it too hard. In general, you just break up a hard problem into a series of easy ones. For example, you solve most introductory problems by doing the following:

  1. Drawing a free body diagram of all the forces on your object of interest.
  2. Writing an expression for the acceleration of the object, in terms of the forces on it, using Newton’s 2nd law.
  3. Solving for the final kinematic conditions, such as position and velocity, as a function of initial conditions, the forces involved, and the time interval.

The problem you run into, however, is that the forces on the object are often a function of the other kinematic equations—usually the velocity or position. The trick, therefore, is to program a computer to follow the same easy method, but do it in small time steps where you can assume the acceleration is constant.

Python Programming

Example Problem: A Skydiver

A skydiver jumps out of a plane holding his body in a cannonball shape (terminal velocity = 200 ft/s) for 1 minute, then he changes to a spread eagle shape (terminal velocity = 150 ft/s) for 2 minutes. At this time he pulls a cord that starts a series of streamers and parachutes that unfurl in 12 stages, over the course of one minute, lowering his terminal velocity by 10 ft/s every 5 seconds. After one more minute, he pulls his main parachute, which smoothly over the course of one second, lowers his terminal velocity to 15 ft/s. He then gently floats until he hits the ground 10 minutes after he jumped out of the plane.

  • What was the elevation from which the skydiver was dropped?
  • Plot the skydiver’s height above the ground, downward velocity, and downward acceleration, as functions of time.

Solution using Python 3 code:

from numpy import linspace, zeros
import matplotlib.pyplot as plt
# Next, I define a function that applies Newton’s 2nd law.
# (Note: The html font may not show the appropriate Python spacing)
def acceleration(v,vt):
"""
Returns the net force per mass on the skydiver.
The acceleration is a function of the skydiver's
velocity (v) and terminal velocity (vt), and uses the
global variable g, which represents the gravitational
field of Earth. Down is positive.
"""
global g
a = g * (1 - (v/vt)**2)
return a
# And another function that simply defines the terminal velocity based on the problem.
def terminal_velocity(t):
"""
Returns the terminal velocity in ft/s of the skydiver, as
a function of time, in seconds, based on the problem's
specifications.
"""
if t < 60.0:
vt = 200.0 # cannonball
elif t < 3*60.0:
vt = 150.0 # spread eagle
elif t < 4*60.0:
dt = t - 3*60.0
vt = 150.0 - 10.0 * int(1 + dt/5)
elif t < 5*60:
vt = 30 # 150 ft/s - 12 * 10 ft/s = 30 ft/s
elif t < 5*60 + 1:
dt = t - 5*60
vt = 30 - dt*15 #
else:
vt = 15.0 ## at landing
return vt
# Now is the main program. First I define the initial conditions and define a set of numpy arrays that will hold the position, velocity, and acceleration. Remember that I have defined down to be positive.
g = 32 # Acceleration of gravity in ft/s**2
N = 6000 # Number of time steps
tmax = 10.0*60 # The total time flight in seconds
t = linspace(0.0,tmax,N) # This initiates an array for the time
x, v, a = zeros(N), zeros(N), zeros(N) # This initiates arrays
dt = t[1] - t[0] # We are using a constant time step
x[0] = 0.0; v[0] = 0.0; a[0] = g # sets initial conditions
# Next we calculate the position, velocity, and acceleration during the first time step. Now [0] is initial and [1] is final. The hard part, however, is guessing the average acceleration between time [0] and time [1]. I first guess it is the initial acceleration. Then after calculating the final acceleration, I iterate until convergence.
a_avg = a[0] # guess the average acceleration
a_old = 10000 # give some dummy value to get into loop
while abs(a_avg – a_old) > 1E-15:
v[1] = v[0] + a_avg*dt
x[1] = x[0] + v[0]*dt + a_avg*(dt**2)/2
vt = terminal_velocity(t[1])
a[1] = acceleration(v[1],vt)
a_old = a_avg
a_avg = (v[0] + v[1])/2
# Now that we know two prior accelerations, we can use linear
# extrapolation to estimate the average acceleration based on the last two accelerations. Notice that we will call the rate of change
# of the acceleration the jerk.
for i in range(1,N-1): # all but the first one!!!
# Estimate the acceleration half way between points i and i+1
jerk = (a[i]-a[i-1])/dt
a_avg = a[i] + jerk*(dt/2)
# Kinematics
v[i+1] = v[i] + a_avg * dt
x[i+1] = x[i] + v[i] * dt + 0.5 * a_avg * dt**2
# Newton's 2nd Law
vt = terminal_velocity(t[i+1])
a[i] = acceleration(v[i+1],vt)
# Now I set the height of the plane to be the final position, and print it out. This is because I defined down to the positive in the program, and zero position as the plane itself.
# Notice in Python 3 print is a function, but old Python 2 code will make it a statement, so watch out for parentheses.
h = x[-1]
print("The altitude of the plane was "+ str(int(round(h/1000))) + ",000 ft.")
# Now I make a three panel plot. Pay attention to the little things I did, as I made it more complicated than I had to, just to show you how to plot things. Also notice how we can do regular algebra using numpy arrays.
plt.close()
plt.subplot(3,1,1)
plt.ylabel(r"$\bf \frac{a}{g}$", fontsize=10)
plt.plot(t/60,a/g)
TITLE = "A Skydiver"
plt.title(TITLE, weight='bold', fontsize = 16)
plt.xlim(0,10)
if abs(max(a)) > abs(min(a)):
plt.ylim(-max(a/g),max(a/g))
else:
plt.ylim(min(a/g),-min(a/g)
plt.subplot(3,1,2)
plt.xlim(0,10)
plt.ylabel(r”$\bf v \rm{(ft/s)}$”, fontsize=10)
plt.plot(t/60,v)
plt.subplot(3,1,3)
plt.ylabel(r”$\bf height \ \rm{(‘000 ft)}$”, fontsize=10)
plt.xlabel(r’$\bf time \ \rm{(min)}$’, fontsize=12)
plt.xlim(0,10)
plt.plot(t/60,(h-x)/1000)
plt.tight_layout()
plt.savefig("skydiver_figure.jpg") # saves a jpg
plt.savefig("skydiver_figure.pdf") # saves a pdf
plt.show()
# And, that is that. Notice how most of this is simply doing a good high school physics problem, and just making the final values become the initial values after every iteration.