
Alligator Eggs - jmduke
http://worrydream.com/AlligatorEggs/
======
tubelite
Serious question: Has anyone tried this out on actual children? How did it go?
Maybe children can more easily accommodate the number of arbitrary elements
and rules the game requires, because as an adult, I find the alligator motif
actively confusing.

Using concrete names, people, chocolates rather than abstractions usually
helps a lot in teaching, because it leverages existing mental models and
reduces the cognitive burden of tracking abstract tokens and behaviours. In
this case, the alligators and their eggs behave so differently from anything
familiar (egg hatching to whatever the parent ate?!) that I find the cognitive
burden increases to the point of giving up. IMHO, for adults, a straight-up
explanation with abstract symbols would actually be easier to comprehend.

~~~
Osmium
> In this case, the alligators and their eggs behave so differently from
> anything familiar (egg hatching to whatever the parent ate?!) that I find
> the cognitive burden increases to the point of giving up.

I imagine, in this case, it's because us adults are (a) trying to figure out
what exactly (what computing concept) Bret is trying to explain while we come
across each rule and (b) trying to find logical explanations for everything.
Children are not burdened with these things, and I'm guessing would have no
problem going along with eggs that hatch into whatever their parent ate.

Personally, I think it's really cool. Real-life play-testing definitely
required though!

~~~
1stop
I think I agree with the GP. I just tried to explain this to my 5 y/o
(admittedly she is possibly too young).

Questions I faced:

"Which alligator is the mummy?"

"Why does the alligator want to eat the other one? Don't alligators eat
people?"

"Where is the pink alligator?"

"When the egg hatches will it be a boy or a girl? Because I don't like boy
alligators."

We had a lot of fun, but it didn't come anywhere close to achieving any kind
of stealth learning outcomes, which seems to be its intention.

------
mrob
I don't like this alligator analogy because it relies on magic. Whenever an
alligator eats it transforms its eggs by no obvious mechanism. If some
abstract mechanism is unintuitive then I don't see how decorating it with
superficial real life analogies makes it any easier to understand. The
unintuitive behavior is still there. At least draw attention to it by making
the alligators wizards or something.

------
nmeofthestate
Good idea: express complex concepts in simple forms that children understand:
multicoloured alligators that die when they eat other alligators or alligator
eggs and then the eggs that they previously laid hatch, resulting in
alligators that are the same color as the...

Wait I'll start again...

------
bhouston
Seems fairly complex still. Not completely sure this makes it more
understandable. But maybe that wasn't the point?

~~~
ndrscr
I, too, did not find this very understandable when I was trying to learn
Lambda Calculus for the first time. Even now, it is still quite baffling how
alligators eating aligators makes more intuitive sense than the regular
notation (well, at least it's recursive). In the end, I was only really able
to grasp Lambda Calculus from reading a hard book.

~~~
cbd1984
Frankly, I think the best way to learn lambda calculus is by writing code in
Scheme or Common Lisp or some other language with a nearly one-to-one mapping
between the language's syntax and semantics and what lambda calculus has.
Learn by doing, in other words, and introduce hard concepts using code.

Yes, that's SICP. It's pretty much inevitable that book would get mentioned
here, because there's a whole group of people (not everyone) who learn best
when they learn by doing, and SICP is the paradigmatic contribution of the
learn-by-doing school to this topic.

My point is, maybe this alligator stuff could be made into a game and people
could learn by playing. That's a well-verified method.

------
learnstats2
"Do some arbitrary stuff, that doesn't make any sense as an analogy. Oh, look!
You just learned the lambda calculus!"

Is this an art project satirising computer science?

------
GuiA
Previous discussions (I wish HN did this automatically):

[https://news.ycombinator.com/item?id=4586692](https://news.ycombinator.com/item?id=4586692)
[https://news.ycombinator.com/item?id=600736](https://news.ycombinator.com/item?id=600736)

Related: "To Dissect a Mockingbird"
[http://dkeenan.com/Lambda/index.htm](http://dkeenan.com/Lambda/index.htm)

(also previously discussed on HN:
[https://news.ycombinator.com/item?id=7684210](https://news.ycombinator.com/item?id=7684210))

------
bitwize
When I first discovered this, I found all this bafflegab about alligators and
eggs only served to confuse the issue. If you understand that a lambda
expression is a rule for generating expressions which, when applied to a
value, substitutes the value for the lambda variable, that is sufficient to
have an intuitive grasp of what LC is all about.

------
fit2rule
I'm left wondering if anyone has made an app out of this, to obviate the need
to print things and as well provide an onboard means of educating the user how
the game works. This is still quite a complicated concept and I can't say I
understand it better just because I've got toy alligators all over the place
.. but with an app it could be a bit more intuitive. That in itself might be
an interesting exercise ..

~~~
softwarehippie
Yep, see [http://teamcroggle.github.io/](http://teamcroggle.github.io/) also
available in the Google Play store:
[https://play.google.com/store/apps/details?id=de.croggle](https://play.google.com/store/apps/details?id=de.croggle)

~~~
sukilot
Play store says it is not compatible with any devices

------
rattray
What is the purpose of learning/teaching lambda calculus? I get that it's
cool. In what ways it is an important or useful concept?

~~~
andrewflnr
It's a simplified version of, basically[0], programming, in which it's easier
to prove things. The same as any other piece of abstract math, really.

[0] I'm waffling because I'm not 100% sure of the exact relationship or
whether it's well-defined, but it's a close enough comparison.

~~~
anon4
Rather a simplified version of computing. Programming to me necessarily
includes making machines _do_ things.

------
guard-of-terra
Somehow lambda calculus/fp community has no end of embarrassing produce - be
it books, pictures and now images.

Something about pure lack of self-criticism perhaps.

