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: , , , , , ,

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: , , , , ,

software facilities for teaching mathematics

Two stories caught my imagination today.  One is a geometry program akin to something like Geometer’s Sketchpad, KIG (for KDE Interactive Geometry), described by an article in Linux Journal.  The KDE EDU project has a number of great programs available for education.

The other is an idea for talking about averages, expectation, and probability.  It uses the TV show “Deal or no Deal” as backdrop, trying to evaluate whether or not to accept the Banker’s deal.  I got the idea while reading an issue of Linux Journal with an article by Dave Taylor (subscription required).  To my taste the implementation in shell script is a might obscure.  I would probably use Python to craft the solution while students described how to calculate the various quantities, as the notation appears (or could be made to appear with a few prior function definitions) more mathematical.  The program would ask which boxes we opened and progressively give updated statistics on the likelihood of winning it big.

Published in: on 2009.06.23 at 12:48  Comments (1)  
Tags: , , , , , , ,

Self-correcting worksheets

I was reading COLBYS’S BLOG and tried the posted link, where I found (under the Tech Integration section) a techtorial by Lorrie Jackson called “Create Self-Correcting Worksheets”, which caught my eye.  I’ve called upon spreadsheets before to generate math problems using the built-in random number generators.  I then copied the results to whatever program I was using to typeset them.  The idea of having the students use the spreadsheet directly had never occurred to me!

Follow her instructions to get a basic working model, but I have a few suggestions to improve it.  I’m attaching my version, an OpenDocument spreadsheet file. (Update: Er, I would if wordpress would accept .ods files.  Contact me if you would like a copy in some other format.) I recommend following her instructions to turn it into a template file, though.

My first concern was that savvy students would realize that the formula in the happy face/sad face column contained the answer.  We’re going to break her “Question” column up into 4 separate columns.  For instance, “1+1=?” becomes 1,+,1,=”=?”.  All the equal signs and quotes are necessary to have “=?” in the 4th column.  Then you can have an answer-checking formula that actually adds the numbers itself, so it doesn’t show the answer.  This solves my second concern, which was that changing all the answers in the formulas was tedious.  For instance, my first “Correct?” column entry has the formula:


Notice that I also added the extra “IF” statement on the outside so that students don’t get a response if they haven’t typed anything yet.

My third concern was that typing all the possible problems was a pain, and this is where my background comes in handy.  Use the random number functions!  Instead of typing numbers into the new columns A and C, I just typed in the formula “=RANDBETWEEN(0;9)”, which generates a random integer between 0 and 9, inclusively.  Change the numbers to suit your purposes.  This would even work great for practicing with negative integers.  You can fill and/or paste this formula down those two columns.  This has the added benefit that the student’s problems are randomly generated when she opens the spreadsheet template.

Finally, I wanted to add a little glitz to the smiley faces.  I know many people are color blind, but I’d like the sad faces to be red and the happy faces to be green.  I can do that too.  I made all the text of the Correct? column (except the header) red first.  Then select the same range again and use the conditional formatting feature of your spreadsheet to color them green if the column matches “J”.  You’re done!  If people demand it, I can write more readable instructions in the future.  Let me know.


Feedback! Feedback! Feedback!

Give your students as much feedback as possible.  It also helps them start to realize the power of spreadsheets.  Plus, you’re not limited to numbers here; I’ve thought that this might be a fun way to check making simple words plural.  Writing the answer-checking formula is more complicated, but you only have to do it once.  How else can you write a worksheet by writing just one problem?

Published in: on 2009.06.17 at 23:48  Leave a Comment  
Tags: , , , , ,


I just found out that WordPress can do \LaTeX. Yay! Now I can write Stokes’ Theorem for a differential form \omega on a manifold with boundary M:

\int\limits_{\partial M} \omega = \int\limits_M d\omega

The integration signs look a little squatty. You can do this for your own math equations using
$latex <code here>$. However, I don’t like this as well as jsMath because it’s not as transparent to the user what code you used to get the given formula—tool-tip for WordPress versus selectable pop-up for jsMath.

Published in: on 2009.06.17 at 13:43  Comments (1)  
Tags: , , ,

Vectors, weather, and GPS

This didn’t end up being a practical application of GPS for the classroom, but I thought it was a fun example.

Published in: on 2009.06.10 at 14:52  Leave a Comment  
Tags: , , ,