Entries Categorized as 'Software'

Regression with Gnumeric

December 31, 2012

A test regression (linear equation) using Gnumeric.

Finally, I’ve found a spreadsheet application (Gnumeric) with a reliable Solver for doing regressions. And it’s free. The only tricky part is that there’s no native port for Macs; you have to use a command line package manager to install it (I used Fink).

Gnumeric, however, seems to be an excellent tool for data analysis.

Citing this post: Urbano, L., 2012. Regression with Gnumeric, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Parabola Program

November 26, 2011

Animation showing the widening and shrinking of the parabola.

So I put together this interactive parabola program using VPython (code here) for students encountering these curves in Algebra.

Simple Excel program to graph a parabola.

It’s a more interactive version of the Excel parabola program in that you can move the curve by dragging on some control points, rather than just having to enter the coefficients of the equation. The program is still in development, but it is at a useful stage right now, so I thought I’d make it available for anyone who wanted to try it.

The program is fairly straightforward to use. You can move the curve (translate it) up and down, and expand or tighten the area within the parabola.

The program also displays the equation of the curve in standard form:

 y = ax^2 + bx + c


What the buttons do.

Next Steps

I’m also working making the standard equation editable by clicking on it and typing, and am considering showing the x-axis intercepts, which will give algebra students a nice, visual way to of checking their factoring.


Coffman, J., 2011 (accessed). Translating Parabolas. http://www.jcoffman.com/Algebra2/ch5_3.htm

Math Warehouse, 2011 (accessed). Equation of a Parabola
Standard Form and Vertex Form Equations, http://www.mathwarehouse.com/geometry/parabola/standard-and-vertex-form.php#

WolframAlpha.com, 2011 (accessed). http://www.wolframalpha.com/input/?i=a^2+x^4%2Bx^2-r^2%3D0

Citing this post: Urbano, L., 2011. Parabola Program, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Considering LEGO Robotics

November 16, 2011

LEGO robots at the St. Louis Science Center.

There was a neat little conference today, organized by LEGO’s Education division. I’ve been trying to figure out a way to include robotics in my math and science classes, but since I haven’t had the time to delve into it, I was wondering if the LEGO Robotics sets would be an easy way to get started. It turns out that they have a lot of lesson plans and curricula available that are geared for kids all the way from elementary to high school, so I’m seriously considering giving it a try.

Pedagogically, there are a lot of good reasons to integrate robotics into our classes, particularly as the cornerstone of a project-based-learning curriculum.

  • The act of building robots increases engagement in learning. Just like assembling Ikea furniture makes people like it better, when students build something the accomplishment means more to them.
  • Working on projects builds grit, because no good project can succeed without some obstacles that need to be overcome. Success comes through perseverance. Good projects build character.
  • The process of building robots provides a sequence of potential “figure it out” moments because of the all steps that go into it, especially when students get ambitious about their projects. And students learn a whole lot more when they discover things on their own.
  • Projects don’t instill the same stress to perform as do tests. Students learn that learning is a process where you use your strengths and supplement your weaknesses to achieve a goal. They learn that their worth is more than the value of an exam.
  • Projects promote creativity, not kill it like a lot of traditional education.

In terms of the curriculum, Physics and Math applications are the most obvious: think about combining electronics and simple machines, and moving robots around the room for geometry. A number of the presenters, Matthew Collier and Don Mugan for example, advocate for using it across the curriculum. Mugan calls it transdisciplinary education, where the engineering project is central to all the subjects (in English class students do research and write reports about their projects).

I’ve always favored this type of learning (Somewhat in the Air is a great example), but one has to watch out to make sure that you’re covering all the required topics for a particular subject. Going into one thing in depth usually means you have to sacrifice, for the moment at least, some width. The more you can get free of the strictures of traditional schooling the better, because then you don’t have to make sure you hit all the topics on the physics curriculum in the seemingly short year that you officially teach physics.

The key rules about implementation that I gleaned from presentations and conversations with teachers who use the LEGO robotics are that:

  • Journaling is essential. Students are going to learn a lot more if they have to plan out what they want to do, and how to do it, in a journal instead of just using trial-and-error playing with the robots.
  • Promote peer-teaching. I advocate peer teaching every chance I get; teaching is the best way to learn something yourself.
  • 2 kids per kit. I heard this over and over again. There are ways of making larger groups work, but none are ideal.

A Plan of Action

So I’m going to try to start with the MINDSTORM educational kit, but this requires getting the standard programming software separately. One alternative would be to go with the retail kit, which is the same price and has the software (although I don’t know if anything else is missing).

I think, however, I’ll try to get the more advanced LabVIEW software that seems to be used usually for the high school projects that use the more sophisticated TETRIX parts but the same microcontroller brick as the MINDSTORM sets. LabVIEW might be a little trickier to learn, but it’s based on the program used by engineers on the job. Middle and high students should be able to handle it. But we’ll see.

Since LabVIEW is more powerful, it should ease the transition when I do upgrade to the TETRIX robots.

The one potential problem that came up, that actually affects both software packages, is that they work great for linear learners, but students with a more random access memory will likely have a harder time.

At any rate, not I have to find a MINDSTORM set to play with. Since I’m cheap I’ll start by asking around the school. Rumor has it that there was once a robotics club, so maybe someone has a set sitting around that I can burrow. We’ll see.

Citing this post: Urbano, L., 2011. Considering LEGO Robotics, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Sling: A VPython Model Demonstrating Centripetal Force and Conservation of Angular Momentum

November 8, 2011

Animation captured from the sling.py Vpython model. The yellow arrow shows the centripetal force. The white arrow shows the velocity.

Sitting in a car that’s going around a sharp bend, its easy to feel like there’s a force pushing you against the side of the car. It’s called the centrifugal force, and while it’s real to you as you rotate with the car, if you look at things from the outside (from a frame of reference that’s not rotating) there’s really no force pushing you outward. The only force is the one keeping you in the car; the force of the side of the car on you. This is the centripetal force. Given all the potential for confusion, I created this little VPython model that mimics a sling.

Centripetal Force

In the model, you launch a ball and it goes off in a straight line. That’s inertia. An object will move in a straight line unless there’s some other force acting on it. When the ball hits the string, it catches and the string starts to pull on the ball, taking it away from its straight line trajectory. The force that pulls the ball away from its original straight path is the centripetal force.

Image from Stern (2004): (23a) Frames of Reference: The Centrifugal Force

Conservation of Angular Momentum

The ball rotating on the sling has an angular momentum (L) that’s equal to the velocity (v) times its mass (m) times its radius (r) away from the center.

L = mvr            , angular momentum

Now, angular momentum is conserved, which means that if you shorten the string, reducing the radius, something else must increase to compensate. Since the mass can’t change, the velocity has to, and the ball speeds up.

The ball on the string with the shorter radius has the higher velocity (moves faster). It also has a higher centripetal force. The ball for shortening the radius is not shown in this figure.

I’ve put in a little ball at the end of the string that you can pull on to shorten the radius.

Tangential Velocity

Once the ball is attached to the string, the centripetal force will keep it moving in a circle. If you release the ball then it will fly off in a straight line in whatever direction it was going when you released it. With no forces acting on the ball, inertia says the ball will move in a straight line.

The ball, when released from the string, flies off in a tangent.

To better illustrate the ball’s motion off a tangent, I put in a target to aim for. It’s off the screen for the normal model view, but if you rotate the scene to look due north you’ll see it.

Citing this post: Urbano, L., 2011. Sling: A VPython Model Demonstrating Centripetal Force and Conservation of Angular Momentum, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Algebra and Programming with VPython

September 4, 2011

Computer programming is the place where algebra comes to life. Students seem to get really excited when they write even the simplest instructions and see the output on the screen. I’m not sure exactly why this is the case, but I suspect it has something to do with being able to see the transition from abstract programming instructions to “concrete” results.

So I’ve decided to supplement my Algebra classes with an introduction to programming. I’m using the Python programming language, or, more specifically, the VPython variant of the language.

Why VPython? Because it’s free, it’s an easy-to-use high-level language, and it’s designed for 3d output, which seems to be somewhat popular these days. The oohs and aahs of seeing the computer print the result of a+b turn into wows when they create their first box. I’ve used the language quite a bit myself, and there are a lot of other interesting applications available if you search the web.

VPython was created to help with undergraduate physics classes, but since it was made to be usable by non-science majors, it’s really easy for middle and high school students to pick up. In fact, NCSU also has a distance education course for high school physics teachers. They also have some instructional videos available on YouTube that provide a basic introduction.

Image from a game created by middle school student Ryan W.

I use VPython models for demonstrations in my science classes, I’ve had middle school students use it for science projects, and I’ve just started my middle school algebra/pre-algebra students learning it as a programming language and they’re doing very well so far.

What I hope to document here is the series of lessons I’m putting together to tie, primarily, into my middle school algebra class, but should be useful as a general introduction to programming using VPython.

Getting VPython

You’ll need to install Python and VPython on your system. They can be directly downloaded from the VPython website’s download page for Windows, Macintosh or LINUX.

Running a Python program.

Once they’re installed, you’ll have the IDLE (or VIDLE) program somewhere on your system; a short-cut is usually put on the desktop of your Windows system. Run (double-click) this program and the VPython programming editor will pop up any you’re ready to go. You can test it by typing in something simple like:

a = 1
b = 2
c = a + b
print c

Then you run the program by going through the Run–>Run Module in the menu bar.

Which should cause a new window to pop up with:

Python 2.7.1 (r271:86882M, Nov 30 2010, 09:39:13) 
[GCC 4.0.1 (Apple Inc. build 5494)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================

Even better might be to test the 3d rendering, which you can do with the following program:

from visual import *


which creates the following exciting image:

A box created with VPython. It looks much more interesting if you rotate it to see it in perspective.

To rotate the view, hold down and drag the right mouse button. To zoom in or out, hold down the right and left buttons together and drag in and out.

A rotated, zoomed-out view of a box.


Lesson 1: Variables, Basic Operations, Real and Integer Numbers and the First Box.

Lesson 2: Creating a graphical calculator: Coordinates, lists, loops and arrays: A Study in Linear Equations

Citing this post: Urbano, L., 2011. Algebra and Programming with VPython, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Mindmapping Online with Mind42

August 22, 2011

Excerpt from my pre-Algebra/Algebra mindmap created on Mind42.com

I was trying to figure out how I could create a graphic organizer/mindmap to outline my math class that my students could access online. Even better would be if they could also edit the map online. That way I could set up the outline of my lesson notes and they could fill in definitions for vocabulary words. Mind42 (pronounced mind for two) allows just that. It’s free to use and allows you to link to or embed your mindmaps (e.g. pre-Algebra/Algebra) into other websites:

It’s almost perfect, all it needs is for you to be able to save the state of the map, with certain branches collapsed for example, or with a set zoom level. Right now the best way to explore the above map is to collapse all the nodes (use the second button on the lower left) and gradually expand them out as you go through.

I do think the style of the nodes and lines on the maps are elegant and make it easy to read. It’s also really easy to create the maps.

Apart from putting your maps to other websites, you can also print them out as pdf’s or images (png), or you can save the map itself in a format that other mindmapping software, like Freemind, can use.

I really like this website, and as soon as they add the ability to save zoom levels and collapsed nodes I’m going to try using it for my classes.

Citing this post: Urbano, L., 2011. Mindmapping Online with Mind42, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Setting up a Computer with Free Software

July 6, 2011

[Updated: 7/22/17] The open-source and free-software movements have matured to the point where a teacher or student can reliably outfit a new computer with software that is free and compatible with their proprietary cousins.

The first place to look for free software for whatever purpose you need should probably be SourceForge. It feels odd having to say this, but it’s legal, free software. Mind you, it has a lot of programs that are still in development, many are not terribly polished, and not everything will be available for your operating system. Add in a few other pieces, like Firefox and OpenOffice, and you have all the basics you need for a basic loadout. I typically find these to be most useful.

  • LibreOffice or OpenOffice: Free, but not as powerful alternatives to MicroSoft Office. They can open and save MS Office files, but also has some of the irritating auto-formatting issues as Office. So for text editing I usually prefer Smultron (on Mac) or Atom (on Windows). Also, Gnumeric is an excellent alternative to Excel.
  • Atom (Windows and Linux): An extremely versatile text editor that a lot of my students like for coding.
  • Smultron (Mac): for writing text and only text, forget the formatting (and also useful for writing computer programs).
  • Firefox: For web browsing.
  • GIMP: instead of PhotoShop for editing images.
  • Inkscape: For drawing diagrams (like this one).
  • VUE: For mindmaps (like this) and flow charts.
  • Audacity: works well for sound editing (I’ve only used it a little for trimming sound files when I was trying to create sound effects). Unlike SOX (see below) Audacity has a user interface.
  • OpenSCAD: For creating 3d models using basic shapes (spheres, boxes etc.) for 3d printing.
  • VPython: I usually introduce my students to programming with VPython, which is a Pythno library for creating 3d visualizations. The VPython downloads pages include instructions for installing Python.

There are other odds and ends that you’ll find on my computer, like vlc for playing DVD’s, Combine PDF for rearranging pages in pdf documents, and TexShop for really nice typsetting, but there are a lot of good, free alternatives out there. Not a whole lot of games however.

Command Line Programs

If you’re comfortable using the Linux command line there are a number of programs, most of which have been ported to the major operating systems (and you can use the Cygwin program to use a lot of Linux commands if you’re on Windows), that can also be very useful:

  • SoX: For generating sound tones and notes (e.g.),
  • ImageMagick: the convert command is particularly useful for working with images (their example page is excellent). The GIMP is based on this program.
  • gifsicle: for help making animated gifs (particularly for optimizing them).

Citing this post: Urbano, L., 2011. Setting up a Computer with Free Software, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Writing should first focus on the text

May 1, 2011

I have a great antipathy when my word processor tells me what to do, or, even worse, “corrects” my writing without my permission. So I avoid MS Word like the plague. OpenOffice is little better. Now I’ll admit that my writing is usually in great need of a good editor, but not looking over my shoulder, inserting little, irritating suggestions while I’m caught up in the turbulent rapids of self-expression. Getting into the flow of productive writing is difficult enough; I don’t need the extra distraction.

Instead I much prefer the plain text editors; Smultron has been a favorite of mine since I’ve been using Macs, and I spend a lot of time writing on the class Wiki (MediaWiki) and on this blog (WordPress), which both have very simple text-entry boxes.

WordPress and MediaWiki also process the text and make it presentable. Like most websites these days, this blog has a theme that tells it where to put the text, how to format it, what background to have, where to insert images, what to have in the header and footer, …. The theme I use was created by Karen Blundell and adapted to put in a couple of my own details, like the little citation thing, and the ability to name the reviewer and editors at the bottom of the post. I did spend a lot of time getting these things to work, but I did learn quite a bit about the inner workings of WordPress and CSS in doing them, and once they were done, I could forget about them entirely and just focus on the writing.

Similarly, with LaTeX, although it’s much more of a pain to figure out how to use. On the Muddle I use LaTeX to add mathematical equations, but it really is a fully-fledged typesetting program, designed for professionals.

Two pages from a booklet my class and I put together about a display of fossils. I used LaTeX to typeset.

My class recently created a little display of fossils collected from Coon Creek for a school fundraiser, and we put together a booklet for it. I had the students write their essays and put them up on our Wiki. Then I copied and pasted their text into a LaTeX document, added a couple chapters from some of my blog posts, and it did the rest to create a very nice looking book, complete with title page, table of contents and bibliography.

Setting up the LaTeX file was not trivial, since I’ve not used it in a number of years, and this was the first time I tried to format a book. But it creates beautifully looking documents, without all the mysterious formatting features that inevitably show up if you tried something this complex with Word.

There are, I’m sure, other software for publishing documents like this. However, LaTeX is free and so is the old version of Smultron. Smultron’s new version costs $4.99, but is probably worth it.

Citing this post: Urbano, L., 2011. Writing should first focus on the text, Retrieved February 26th, 2018, from Montessori Muddle: http://MontessoriMuddle.org/ .
Attribution (Curator's Code ): Via: Montessori Muddle; Hat tip: Montessori Muddle.

Creative Commons License
Montessori Muddle by Montessori Muddle is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.