Pippy and Calculate - Evolution Solution

Eben Eliason eben.eliason at gmail.com
Mon Sep 10 11:32:35 EDT 2007

> > Errors ought to be detected as typed, with the text changing
> > color at the point where syntax is violated. So this...
> >
> > 7+5-9*4)-5
> >
> > ...would be highlighted starting from the ')' character.
> >
> This sounds like a good idea, but I think it could be a little tricky
> sometimes, so only certain errors should be detected at 'type-time'.
> Anyway, I'm putting that on my TODO list...

This is not always possible at type-time.  Consider:

3*(2+1-  [enter]

At any rate, the more live feedback the better, but we can't eliminate
calc-time errors.

> > I think the idea of clicking on on-screen buttons is fundamentally
> > defective. The keyboard is far easier to use. I suggest displaying
> > an on-screen copy of that, with the valid keystrokes highlighted.
> > One could still use it with the touchpad, if one wanted to suffer.
> > So in the above example, after "7+5-9*4" the ')' key would not be
> > highlighted.
> >
> For older children I agree, for the younger ones I'm not sure. The whole
> keyboard on the screen would be a little crowded I think, although it
> could be interesting to try.

I think this would needlessly complicate the view, as that's a lot of
keys on a small screen, and I think a smaller number of large buttons
is more approachable for a child.  On the other hand, I do like the
idea of making invalid buttons insensitive while typing.  That can
work quite well even with the standard buttons on screen. After typing
"1+" the +, -, *, / keys would be insensitive.  On the other hand, the
")" would be insensitive until an opening "(" was typed. (Yes, it's
actually more complicated than that, as you'd need to consider the
parse tree for the location of the cursor for all of this.)

> >>   Well, if you consider under 5 years old crowd, then you would oppose
> >> to have variables in Calculate?  (BTW, OLPC is not aimed at the crowd,
> >> I believe.)  What do you think about the the use of e-notation in it?
> >> How about all these functions available in the tab?
> >>
> >
> > Arbitrary named variables are probably not good. Cut-and-paste gives
> > you a variable, and the most recent answer (or two) could implicitly
> > be a variable. If there is a scrolling log of answers, clicking on
> > lines of the log could act as variables. Anything beyond that is
> > probably getting into spreadsheet territory, but there are low-complexity
> > ways to deal with that too: cut-and-paste to a text document, allow
> > drag-and-drop to a saved-data area of the screen, or just scribble
> > on something physical.

I disagree that variables aren't useful. As mentioned, as long as
things are taught in the right way, they can be learned even by young
kids.  I was using variables back in first and second grade, without
knowing it, and though one ever thought to tell me so.  Every word
problem can be interpreted as a series of calculations with variables
(we're actually calling them "labels"), and having the ability to
label numbers can make such problems easier to manage, and more
meaningful in a collaborative setting.

There is, of course, a scrolling equation history which allows single
click insertion of previous answers or equations.

> >
> >>   Imagine if the functions that are available in the Calculate "mode"
> >> (such as sin, sqrt, etc.) are actually defined in a way that kids can
> >> understand (for example, the Newton-method for sqrt, or even a
> >> graphical version for sin and cos), and if the user goes to the Pippy
> >> "mode", the user can look inside the definition and modify them?  That
> >> would be very constructionist.

This is where the "view source" feature can come into play.  I'm not
sure exactly how that might manifest itself, but I agree this is
worthwhile territory for those kids who want to explore more.

- Eben

More information about the Devel mailing list