Education works best when all the parts are working together.

This is a recreation from memory of a poster that I saw when I was in grade school. It was posted just outside my first grade classroom. I often wonder if its creator had intended it to be humorous.
Education works best when all the parts are working together.

Addendum: This picture was amazingly easy to put together using Inkscape, which I downloaded from

Published in: on 2009.06.29 at 05:19  Leave a Comment  
Tags: , , ,

EERE project

The EERE publishes Energy Savers, a site with tips to save energy. After working in an uncomfortable school with stupid air circulation issues, I thought of a cool project for students: improve your school. Investigate the financial incentives available. Learn to conduct an energy audit by reaching out to local auditors. Perform cost-benefit analyses. Present the results to the school board and school administrators.

Forget high-stakes testing when we can increase student stakes in education.

Published in: on 2009.06.28 at 17:02  Leave a Comment  
Tags: , , , ,

Wind for Schools

The Kansas branch of Wind for Schools is run by KSU. This is a project-based learning opportunity with all kinds of potential. Unfortunately, to be approved, your school has to have decent wind potential. Contact them for more information and to see if your school qualifies. Because this is interdisciplinary with a fair amount of researched curriculum already developed for it, it helps to have some buy-in from colleagues before writing the grant application. The best part? This project will generate money for your district. I dare any administrator to turn that down.

For more ideas, you might check out KidWind or NEED or NREL (or NREL here ).

Published in: on 2009.06.28 at 16:44  Leave a Comment  
Tags: , , , , , ,


I am continually impressed by projects from students on the Scratch platform. If you haven’t seen Scratch, check it out. It can be used in English classes as a backdrop to tell stories. I can be used in math classes by using its programming constructs. It can be used in any class for interactive presentations. Check out the galleries for ideas.

Published in: on 2009.06.28 at 16:29  Leave a Comment  
Tags: , , ,

Guido van Robot

An homage to Guido van Rossum, Guido van Robot uses a simplified syntax and helper functions to teach students procedural and/or systematic thinking.

Published in: on 2009.06.28 at 16:25  Leave a Comment  
Tags: , , ,

Kirby Urner

O’Reilly features one of my math pedagogy heroes, Kirby Urner, in an article “Teaching Math with Python“. Yeah, the article is way old and the links out of date, but you can see what Kirby is up to at Oregon Curriculum Network (OCN), his own project.

Published in: on 2009.06.28 at 16:19  Leave a Comment  
Tags: , , , , ,

600kV from 6 “C” batteries

More striking than this image (from jurvetson’s flickr photostream), in which 6 “C” batteries are used to generate an approximately 600kV mini-lightning strike, is the way that the flickr is used to annotate parts of the image (“notes”) in the original site. I can imagine biology students labeling parts of animals from photos or anatomy students marking up photos of operations. Clearly, it even has use in physics. And jurvetson kindly provides an explanation of how it works with a link to Wikipedia on the Marx generator. At one level, one could consider this an extreme automation because a student could look up Marx generator and find more information about it–nevermind that they wouldn’t. However, this differs from a conventional “check out this cool photo” by the presence of metadata describing information that most students wouldn’t have been able to recognize unless they already knew what a Marx generator was, making this a nice example of information.

Published in: on 2009.06.28 at 15:58  Leave a Comment  
Tags: , , , , , ,

power of VIPs

I learned about VIPs (Visual Instructional Plans) in a course about covering Fred Jones’ Tools for Teaching. I think it’s a powerful concept, and I was giddy with love of Origami to see this picture in brdparker’s flickr photostream: spike_ball_diagram_1

Published in: on 2009.06.28 at 15:30  Comments (1)  
Tags: , , ,

Focusing power of an ellipse

One of my favorite applications of conic sections, this picture shows how quantum fields also reflect off of the ellipse.

STM image of atom in elliptic corral.

STM image of atom in elliptic corral.

(Image originally created by IBM Corporation.)
To learn more about this feat, check out IBM’s Almaden Labs page.

Published in: on 2009.06.28 at 15:19  Leave a Comment  
Tags: , , , ,

software facilities for teaching mathematics, part 2

I thought I’d follow up on my post about using a “Deal or No Deal”-type game to teach math.  If I were starting off with beginners to Python, I probably wouldn’t use so much functional syntax, but I thought I better show some code.

# "Deal or no deal"-isomorphic game
import math

values = [0.01, 1, 5, 10, 25, 50, 75, 100, 200, 300, 400, 500, 750, 1000, 5000, 10000, 25000, 50000, 75000, 100000, 200000, 300000, 400000, 500000, 750000, 1000000]

class Possibilities(object):
    def __init__(self, possibilities=values):
    def E(self, fcn):
        return sum(list(map(fcn, self.possibilities)))/len(self.possibilities)
    def mean(self):
        return self.E(lambda x: x)
    def standard_deviation(self):
        return math.sqrt(self.E(lambda x: x*x)-self.mean()**2)
    def population_deviation(self):
        return self.standard_deviation()*math.sqrt(n/(n-1))
    def beat(self, val):
        m=len(list(filter(lambda x: x>=val, self.possibilities)))
        return m/n
    def remove(self, n):
    def __contains__(self, n):
        return n in self.possibilities
    def __str__(self):
        return 'The '+str(len(self.possibilities))+' possibilities are: '+str(self.possibilities)+'\n mean='+str(self.mean())+' ; SD='+str(self.standard_deviation())+'\n P(beating mean)='+str(self.beat(self.mean()))

if __name__=='__main__':
        inp = input('What value was revealed? ')
        float_val = float(inp)
        if float_val in x:
            print(float_val, 'is not a possible value.')
    print('You win', x.possibilities[0])    
Published in: on 2009.06.25 at 21:17  Leave a Comment  
Tags: , , , , ,