Energy and matter can’t just disappear. Energy can change from one form to another. As a thrown ball moves upwards, its kinetic energy of motion is converted to potential energy due to gravity. So we can better understand systems by studying how energy (and matter) are conserved.

Let’s start by considering the Earth as a simple system, a sphere that takes energy in from the Sun and radiates energy off into space.

At the Earth’s distance from the Sun, the incoming radiation, called insolation, is 1367 W/m^{2}. The total energy (wattage) that hits the Earth (E_{in}) is the insolation (I) times the area the solar radiation hits, which is the area a cross section of the Earth (A_{cx}).

Given the Earth’s radius (r_{E}) and the area of a circle, this becomes:

The energy radiated from the Earth is can be calculated if we assume that the Earth is a perfect black body–a perfect absorber and radiatior of Energy (we’ve already been making this assumption with the incoming energy calculation). In this case the energy radiated from the planet (E_{out}) is proportional to the fourth power of the temperature (T) and the surface area that is radiated, which in this case is the total surface area of the Earth (A_{surface}):

The proportionality constant (σ) is: σ = 5.67 x 10^{-8} W m^{-2} K^{-4}

Note that since σ has units of Kelvin then your temperature needs to be in Kelvin as well.

Putting in the area of a sphere we get:

Now, if the energy in balances with the energy out we are at equilibrium. So we put the equations together:

cancelling terms on both sides of the equation gives:

and solving for the temperature produces:

Plugging in the numbers gives an equilibrium temperature for the Earth as:

T = 278.6 K

Since the freezing point of water is 273K, this temperature is a bit cold (and we haven’t even considered the fact that the Earth reflects about 30% of the incoming solar radiation back into space). But that’s the topic of another post.

**Citing this post**: **Urbano**, L., 2017. Modeling Earth's Energy Balance (Zero-D) (Equilibrium), Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

This little embeddable, interactive app uses *n*th order polynomials to approximate a few curves to demonstrate the Taylor Series.

**Citing this post**: **Urbano**, L., 2017. Demonstrating Taylor Series Approximations with Graphs, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

Hat tip to Ms. Douglass for this link.

**Citing this post**: **Urbano**, L., 2017. Elements by Their Uses, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

**Citing this post**: **Urbano**, L., 2017. The Essential Biopolymers, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

I had my Numerical Methods student calculate the angle that would give a ballistic projectile its maximum range, then I had them write a program that did the the same by just trying a bunch of different angles. The diagram above is what they came up with.

It made an interesting pattern that I converted into a face-plate cover for a light switch that I made using the laser at the TechShop.

**Citing this post**: **Urbano**, L., 2017. Projectile Paths, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

One of the things my students had to figure out was what angle would give the maximum range of the projectile? You can figure this out analytically by finding the function for how the horizontal distance (x) changes as the angle (theta) changes (i.e. x(theta)) and then finding the maximum of the function.

In a nutshell, to find the distance traveled by the potato we break its initial velocity into its x and y components (v_{x} and v_{y}), use the y component to find the flight time of the projectile (t_{f}), and then use the v_{x} component to find the distance traveled over the flight time.

Starting with the diagram above we can separate the initial velocity of the potato into its two components using basic trigonometry:

,

so,

,

Now we know that the height of a projectile (y) is given by the function:

(you can figure this out by assuming that the acceleration due to gravity (a) is constant and acceleration is the second differential of position with respect to time.)

To find the flight time we assume we’re starting with an initial height of zero (y_{0} = 0), and that the flight ends when the potato hits the ground which is also at zero ((y_{t} = 0), so:

Factoring out *t* gives:

Looking at the two factors, we can now see that there are two solutions to this problem, which should not be too much of a surprise since the height equation is parabolic (a second order polynomial). The solutions are when:

The first solution is obviously the initial launch time, while the second is going to be the flight time (t_{f}).

You might think it’s odd to have a negative in the equation, but remember, the acceleration is negative so it’ll cancel out.

Now since we’re working with the y component of the velocity vector, the initial velocity in this equation (v_{0}) is really just v_{y}:

so we can substitute in the trig function for v_{y} to get:

Our horizontal distance is simply given by the velocity in the x direction (v_{x}) times the flight time:

which becomes:

and substituting in the trig function for v_{x} (just to make things look more complicated):

and factoring out some of the constants gives:

Now we have distance as a function of the launch angle.

We can simplify this a little by using the double-angle formula:

to get:

How do we find the maxima for this function. Sketching the curve should be easy enough, but because we know a little calculus we know that the maximum will occur when the first differential is equal to zero. So we differentiate with respect to the angle to get:

and set the differential equal to zero:

and solve to get:

Since we remember that the arccosine of 0 is 90 degrees:

And thus we’ve found the angle that gives the maximum launch distance for a potato gun.

**Citing this post**: **Urbano**, L., 2016. Maximum Range of a Potato Gun, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

I painted the wall on my new space in the basement to make it a dry-erase surface. Unfortunately, I did not have an eraser to use on it, so, I decided to make my own down at the TechShop. And what started as a simple project turned into a bit of a rabbit hole.

The Shopbot CNC router is great for cutting shapes out of wood. I started with simple rectangular 2 inch by 4 inch blanks with designs and patterns, but that truly does not take advantage of the technological possibilities. Map projections can have some interesting shapes, so I tried a few that I could find black and white vector-graphic maps for on the Wikimedia commons (Mollweide and Sinusoidal projections).

After a little sanding (of the edges and sides in particular) I put the wooden blanks on the laser. It helped to cut out a template for the wooden blanks to sit in so I could do multiple blocks at the same time.

I put on a few coats of polyurethane to protect the wood surface (I also tried a spray on sealer I had sitting around–we’ll see which one works better) and then attached velcro strips to the bottom.

One of my old sweatshirts served as material for the erasing.

**Citing this post**: **Urbano**, L., 2016. Making Dry-Erase Erasers, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

This September a TechShop branch opened up in St. Louis. I’ve been aware of these neat Makerspaces for a few years now, so it was a pleasant surprise when one turned up in town. Even more surprising (and just as pleasant) was that a parent at our school, who was so excited by the opportunities that a place like the TechShop would offer to a school that tries to emphasize hands-on, experiential education, donated four memberships to the school–one for a faculty member and three for students.

Since there are some age restrictions on which machines minors can use–a lot of the woodshop is off limits until they’re 16 and even then adult supervision is required, I arranged a small application for the student memberships that was only open to middle and high-schoolers. Based on the response I got back, we split the annual memberships by semester, so we have three students using it this fall and three more will have access to them in the spring.

The way the TechShop works is that they have a wide range of equipment under one roof and once you take a safety and basic usage (SBU) class on the particular machine you want to use you can reserve time on the machines. There’s a wood shop with saws, sanders, a lathe, and a CNC machine; a metal shop with the same; a set of 3d printers; a set of laser cutters/etchers; a fabric shop with some serious sowing machines, including one that is computer controlled; an electronics shop; a plastics work area with vacuum forming and injection molding machines. They also do a set of interesting classes on using the design software and some interesting projects that can take advantage of the tools available–I have my eye on the Coptic Bookbinding, and the Wooden Bowl making classes. Finally, they’re set up with classrooms where you can bring students in for small STEAM classes, which includes things like using Arduinos.

So far, we’ve all taken the Laser class, and there’s just so much that you can do with the laser that we’ve been spending a lot of time experimenting. The students have been etching signs–including a grave marker for our goat MJ who recently passed away–as well as pictures, luggage tags, and making presents. Since this is a machine that the older students can use independently I’ve lost track of everything they’ve been doing.

I’ve also taken the woodshop wood CNC class, so my own experiments have been a bit more expansive, including making dry-erase erasers, floor-holders for quivers for the archery program, simple chemistry molecular model sets (just 2d), boxes for Ms. Fu’s math cards, and I’m trying to figure out how to make a clock.

**Citing this post**: **Urbano**, L., 2016. TechShop, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

This TedEd video explains a few common sorting methods used in computer science. Sorting can be a challenging computational problem because of the enormous number of comparisons between items that can be involved, so computer scientists has spent a lot of time looking into it.

The video below shows the Quick Sort method using Hungarian folk dance.

**Citing this post**: **Urbano**, L., 2016. Sorting algorithms (with Hungarian Dance), Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

Great for explaining what correlation means, and why correlation does not necessarily mean causation.

**Citing this post**: **Urbano**, L., 2016. Spurious Correlations, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

A nice animation showing the inner workings of a cell. There is a narrated version.

**Citing this post**: **Urbano**, L., 2016. Inner Workings of a Cell, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.

**The Problem**

- A ball starts at the origin and moves horizontally with an acceleration of 0.2 m/s
^{2}. Print out a table of the ball’s position (in x) with time (every second) for the first 20 seconds.

**Analytical Solution**

We know that acceleration (*a*) is the change in velocity with time (*t*):

so if we integrate acceleration we can find the velocity. Then, as we saw before, velocity (*v*) is the change in position with time:

which can be integrated to find the position (x) as a function of time.

So, to summarize, to find position as a function of time given only an acceleration, we need to integrate twice: first to get velocity then to get x.

For this problem where the acceleration is a constant 0.2 m/s^{2} we start with acceleration:

which integrates to give the *general solution*,

To find the constant of integration we refer to the original question which does not say anything about velocity, so we assume that the initial velocity was 0: i.e.:

at *t = 0* we have *v = 0*;

which we can substitute into the velocity equation to find that, for this problem, c is zero:

making the *specific* velocity equation:

we replace *v* with *dx/dt* and integrate:

This constant of integration can be found since we know that the ball starts at the origin so

at *t = 0* we have *x = 0*, so;

Therefore our final equation for x is:

**To summarize** the analytical solution:

These are all a function of time so it might be more proper to write them as:

Velocity and acceleration represent rates of change which so we could also write these equations as:

or we could even write acceleration as the second differential of the position:

or, if we preferred, we could even write it in prime notation for the differentials:

As we saw before we can determine the position of a moving object if we know its old position (*x _{old}*) and how much that position has changed (

where the change in position is determined from the fact that velocity (*v*) is the change in position with time (*dx/dt*):

which rearranges to:

So to find the new position of an object across a timestep we need two equations:

In this problem we don’t yet have the velocity because it changes with time, but we could use the exact same logic to find velocity since acceleration (*a*) is the change in velocity with time (*dv/dt*):

which rearranges to:

and knowing the change in velocity (dv) we can find the velocity using:

Therefore, we have four equations to find the position of an accelerating object (note that in the third equation I’ve replaced *v * with *v _{new}* which is calculated in the second equation):

These we can plug into a python program just so:

*motion-01-both.py*

from visual import * # Initialize x = 0.0 v = 0.0 a = 0.2 dt = 1.0 # Time loop for t in arange(dt, 20+dt, dt): # Analytical solution x_a = 0.1 * t**2 # Numerical solution dv = a * dt v = v + dv dx = v * dt x = x + dx # Output print t, x_a, x

which give output of:

>>> 1.0 0.1 0.2 2.0 0.4 0.6 3.0 0.9 1.2 4.0 1.6 2.0 5.0 2.5 3.0 6.0 3.6 4.2 7.0 4.9 5.6 8.0 6.4 7.2 9.0 8.1 9.0 10.0 10.0 11.0 11.0 12.1 13.2 12.0 14.4 15.6 13.0 16.9 18.2 14.0 19.6 21.0 15.0 22.5 24.0 16.0 25.6 27.2 17.0 28.9 30.6 18.0 32.4 34.2 19.0 36.1 38.0 20.0 40.0 42.0

Here, unlike the case with constant velocity, the two methods give slightly different results. The analytical solution is the correct one, so we’ll use it for reference. The numerical solution is off because it does not fully account for the continuous nature of the acceleration: we update the velocity ever timestep (every 1 second), so the velocity changes in chunks.

To get a better result we can reduce the timestep. Using *dt = 0.1* gives final results of:

18.8 35.344 35.532 18.9 35.721 35.91 19.0 36.1 36.29 19.1 36.481 36.672 19.2 36.864 37.056 19.3 37.249 37.442 19.4 37.636 37.83 19.5 38.025 38.22 19.6 38.416 38.612 19.7 38.809 39.006 19.8 39.204 39.402 19.9 39.601 39.8 20.0 40.0 40.2

which is much closer, but requires a bit more runtime on the computer. And this is the **key tradeoff** with numerical solutions: *greater accuracy requires smaller timesteps which results in longer runtimes on the computer*.

To generate a graph of the data use the code:

from visual import * from visual.graph import * # Initialize x = 0.0 v = 0.0 a = 0.2 dt = 1.0 analyticCurve = gcurve(color=color.red) numericCurve = gcurve(color=color.yellow) # Time loop for t in arange(dt, 20+dt, dt): # Analytical solution x_a = 0.1 * t**2 # Numerical solution dv = a * dt v = v + dv dx = v * dt x = x + dx # Output print t, x_a, x analyticCurve.plot(pos=(t, x_a)) numericCurve.plot(pos=(t,x))

which gives:

**Citing this post**: **Urbano**, L., 2016. Numerical and Analytical Solutions 2: Constant Acceleration, Retrieved February 23rd, 2017, from *Montessori Muddle*: http://MontessoriMuddle.org/ .**Attribution (Curator's Code )**: Via: ᔥ Montessori Muddle; Hat tip: ↬ Montessori Muddle.