Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic(countable.github.io) |
Show HN: Made this with my daughter to help kids ages 2 to 4 learn logic(countable.github.io) |
How many of you have 2 year olds that can read?
For those that can read, was this thru your parental efforts, self taught, or daycare / 3rd party?
How many languages can your 2 yr old read?
God please its 10, where is my 10,10, 100000,.
no no1!!!!!!!!!!!!!!!!!!sw
its 10!!!
tajsfueygfwfpawhfahfghf
(I'm kidding of course, I agree with your point)
Kids 2 to 4 should not be using screens. They have too much to learn.
Also, when the correct answer is revealed, it would be great to somehow highlight the cats that are actually described by the formula. Yes, this is hard for 0.
Also, the animations feel too fast to me. I find they make the whole thing stressful, somehow.
ALSO, when a wrong answer is given, the question disappears! That's terrible UX.
EDIT: I should add that I think the idea is great! But some details of the implementation could be improved.
Taking away the counting is reducing the thinking they have to do. If that's your goal, ok, but I personally think the counting, while mixed in with the "set logic" part, is an important component.
I could agree that you could have two modes, where that is one of them.
I was going to suggest they add a feature to make it accept numbers entered via the the keyboard, but I figured I should check first if they've already done so. They did. :)
I just played this with my daughter who is 4 year old. She have found the first 4 levels easy. She was having a little bit trouble with level 5 negation and conjunction but we had to take a break since we were running for a date.
She didn't have any problem with zero being on the right.
She didn't have any problem with linguistics compherension so far.
She was able to differentiate colors and animating cats from the rest and it was perfect.
She is familiar with digital buttons so she was able to press them but even with her tiny fingers sometimes pressing 4 instead of 5 etc. (We played on mobile)
I direct the game for her. (Start, go up levels when she was bored)
Overall thank you for this because she is going to have a gifted and talented "test" next week and this looked very similar to that and she was active and entertained choosing the answers so I can see this could be a good segway I to it.
Did this happen with your children? Did they have an issue with that?
Personally I think that the same question shouldn't be asked multiple times consecutively. The most I had it happen was 4 times in a row but every other time except for twice times I had 2 in a row.
I hit a bug though - level 7 generated a "how many cats are spinning" question whose answer is 10, but there's no "10" button and trying to type "1" "0" fails at the first "1". But I see `cats_for_level` allows there to be `level + 5` cats, so is there some way to input an answer greater than 9?
Also, is it not confusing to have cats that are "also" ducks, rather than have a different kind of cat? Like cats with different-colored noses or have their mouth open. (In that puzzle 5 of the spinning cats are cats and the other 5 are ducks. But the dev console log does say it wants 10, not 5.)
max_cats = level + 5;
At level 7 that's a possible maximum of 12.Edit: you've pointed this out in your comment and I somehow missed it.
Back in the ‘80’s there was a game called “Rocky’s Boots” that taught logic to kids.
https://archive.org/details/Rockys_Boots_1982_Learning_Compa...
Just a warning for future explorers
"Warning: the game will speak out loud (since young kids cannot read the questions), so check your volume."
Will be trying the counting part with kid next morning.
I assume its random() based, did get a lot of 3 cats, specially in a row. Never 0 cats or more than 5. I would remove the answer buttons for 6 to 0, or a button to hide those maybe?
To be clear: I tried each number 0 - 9 to make sure none are correct. This question cannot be answered and blocks further progress.
I draw up a heap of multi-input AND and OR gates, and some inverters, then wire them together in more or less random ways. Then put 0 or 1 on all of the inputs, and get the kids to work out what some given output will be.
The good things I've found are:
- This seems easily within reach of my kids from age 5 or so, probably many could start even younger
- all they need to get going is the concept of AND, OR and NOT, easily graspable
- It's quite positive for their self-esteem, since what they're doing looks (especially to their seniors) insanely complex, but logic is really not that hard
- It's paper-based, no screentime, pin them up on their wall when they're done
- It's super quick to set up each "puzzle", and you don't even need to spend any time setting up some complicated trick answer, or even really testing your puzzle. Any old random logic circuits are great fun for them to step through and come up with the outputs.
- you can step it up to more complex things - e.g. change up some of the inputs once they've got their first outputs, chuck in some flipflops etc.
When you click a number or press a key, the number should be highlighted for a short time.
In some other games, after a wrong try the number disappear and in other games the number gets semitransparent and disabled. It makes the later tries easier, but my small daughter learned to bruteforce the tests :) .
Sad cats when you get a wrong answer? Perhaps it's a bad idea.
Super happy cats when you get the right answer?
What about a mixed level, where you get some samples of the last two levels? (The last levels are not so easy.)
What about dogs? I like dogs. :)
If I could add something, I would make getting an answer right a little more rewarding. A correct answer graphic, or a correct answer counter.
I realize this is probably a proof of concept for a minimum viable game and standard game mechanics did not make the cut.
I will test it out on my 3 year old tomorrow.
The first part is about 'counting', or maybe recognising a count without counting (I didn't count the cats 1-2-3, because I can instantly recognise 3 of something).
If you're interested in exploring this further, the book How to Teach your Baby Math, by Glenn Doman, recommends teaching babies/toddlers numbers by showing them cards with dots on them, one at a time, whilst saying aloud the number of dots.
Instead of making your own cards and using your own voice, you can run this web app and use your smartphone and thumb.
The initial screen is blank. Tap anywhere on the screen to show some dots and hear the number. After about a second, the screen will again be blank, ready for you to tap again.
You can set the language via an URL parameter:
This is cool though. I never thought to build something to help teach my son anything
2. How can i turn it into an app for ipad use
But he really enjoyed it otherwise, thank you for this, and thank you for making it open source!
Nice work!
1. Clarifying ambiguity and extrapolating are important logic skills.
2. "How many blue cats are not bouncing" is how people actually talk.
If I apply your logic to that, then we never know any quantity of any type of cat in any question, because there are more off-screen.
But when you are asked a question about something that is not displayed in front of you, then you do not presume that what you see is the entirety of evidence, because you are being asked about something for which what you are looking at provides no evidence. Therefore, "all cats," rather than "these cats."
"I don't see any of the blue cats, so I don't know how many of the blue cats are bouncing"
https://en.wikipedia.org/wiki/Presupposition
It's also a thing in mathematics.
https://en.wikipedia.org/wiki/Syllogism#Existential_import
The statement "How many blue cats are bouncing" makes the presupposition that blue cats exist. That's just how language works.
It's one of those things where a formal education in mathematics will teach you to think about a thing in a way that is actually unnatural to most human beings.
The standard example that linguists use is "Do you still beat your wife?" to which you can answer neither "Yes" nor "No". Answering "Yes" means you admit that you used to beat your wife and that you are still doing it. Answering "No" means you admit that you used to beat your wife but claim that you are no longer doing it. You can only answer by escaping to the meta-level and attacking the presupposition as in "I am not currently beating my wife, nor have I ever beaten my wife". If you're a politician, then even that will get you in trouble. (Not thinking of a pink elephant, and all that, ...)
I encourage you to parent your own children. HN users are typically adults and can make their own decisions on whether some screen time for their kids is ok, and what sort of screen time. Doing a logic puzzle is not, in my opinion, the same as going from video to video of squeaky voiced ladies with brightly colored nails opening toy eggs on YouTube.
Is it ok if my daughter videochats with relatives? Or is that screen time and therefore bad?
Is it ok is she draws with crayons? Crayons and paper may be "actual objects", but the images she creates are no more "actual" than the pixels on a screen.
The world is a lot more complex and subtle than just dividing things into "screen time" and "real world".
But of course, do parent your own children. You are the optimisation function. You may value abstract thinking higher than spatial imagination dexterity etc.
Then of course his family doesn't seem to be pushing him, rather than supporting him, and if they had been pushing him hard into this it could possibly had a totally different outcome.
this tool seems to optimize practicing logic more than enjoying logic.
i think kids will find greater success in life with logic if they're taught to enjoy it before they're taught to master it.
why do i think this?
my dad wrote a "computer game" in 4th Dimension in the late 80s that was just randomized arithmetic problems. i had to get a certain score before i could play outside etc. i got really good at answering his program's stupid questions. i also learned to resent him for it and have negative associations w arithmetic to this day.
i also quickly lost my "skills" and am bad at arithmetic now.
it was a nice idea but please don't repeat his mistake.
To me it is just one thing, one of many, many things a kid will encounter, that help them understand concepts. It's not that different from the typical ad hoc "games" I play with my daughter, often while in the car. From "I spy with my little eye" to "what's the opposite of X" to "I'm thinking of a movie where there is a...." to "how many points on a star? how many wheels on a bicycle?" and so on.
I'm not sure what sort of "enjoying logic" you are expecting from a 2-4 year old. Solving little puzzles actually seems pretty enjoyable to them, from my experience. This is not to suggest that it should come at the expense of more "natural" ways of learning logical concepts.
Left to enjoy, eh?
> I had to get a certain score before i could play outside
Your intrinsic motivation was killed with extrinsic motivation. That's the lesson here. Exercises are okay. Children kinda like exercises - even stupid or pointless ones.
Many people have these "screen time" opinions. I'm not saying I disagree, but why do you think zero screen time is the correct amount?
Main points being that brain activity and cognitive tests have shown that kids with excessive screen time use exhibited negative results. Granted these tests likely refer to unattended, non-interactive screen time which is slightly different than this particular app's situation. But the general idea and question of screen time is relevant.
Also anecdotally, I have a young nephew and niece who's parents recently instituted a screen time purge for weeks at a time -- ( parent is an MD and recently attended a conference where research showed similar negative impacts in children's brain development after screen time use ). They've seen less hyperactivity, less meltdowns and improved listening and behavior. Again, one example, so take it for what it's worth.
Raising kids is a time consuming, challenging endeavor for most people, and everyone's experience is going to be unique. So, to each their own. And I'm someone who grew up with NES and after school cartoons. But even given that, I intend on leaning towards caution in this respect and limit screen time as much as possible certainly towards the younger age spectrum.
And apps take up no space while also easily being updated to be more challenging as the child's capabilities grow.
It's usually the first/second issue discussed when sending kids to friends homes.
> It's usually the first/second issue discussed when sending kids to friends homes.
If it never happens, why would you discuss if it's going to happen?
The only weighting issue I really noticed was that once you got to level 5 and higher, the number of questions who had zero as an answer started to get disproportionately high. Not constant zeroes, but noticeably more than any other answers.
I would assume that the range has blurry boundaries. And yes, I think it would shift it lower if you remove the counting element. I have no doubt that my own daughter, when aged 2.5 years old, would have struggled with it a lot more with the counting, than without. When she was 4.5 years old, she would have been a lot more bored with it if it didn't have the counting.
I suppose there are other ways of putting it as well. I used "dumbed down" first, but that could be interpreted badly, like "appropriate for dumber kids", when I really mean "younger".
But the point remains, you make it less challenging, make it take less cognitive effort, decrease its learning benefit, etc if you simplify it by removing the need to count and make it so the child only has to touch objects.
The article you linked only tests for "excessive" screen time - as do all the other studies I've seen.
Seems like you're just advocating the opposite extreme.
This question however comes within the context that they're looking at cats on the screen. Unless they get zero cats as their answer for the very first question they play, then the context tells them "cats shown here".
None of the blue cats are shown here, so we don't have any information to answer a question about them.
If we were previously shown 5 blue cats and none were bouncing, then "5" could seem like the valid answer. If you assume that there is no memory element to the game (which is a weird assumption when teaching), then it's only because there is no option to select "there's not enough info" that "zero" can contextually become the right answer.
I guess I'm still a little bit salty about being asked these kinds of imprecise questions on high-stakes standardized tests that are supposedly testing you on your own precision and accuracy. I remember running into questions that had more than one valid answer because of imprecise wording, at which point the test becomes "what did the test writer intend" instead of "what did the test writer ask."
The list on the index page starts with 0, if nothing else it would be more consistent to start the counting section with 0 as well (FWIW I agree with the OP, I'm teaching my toddler to count starting with 0).
All I meant was what I said: If you're presenting numbers according to "numeric order, but with a weird exception due to the history of typewriters, which BTW your children have never heard of", then it would be simpler to remove that one weird exception. Or, to put it simpler: 0 is less than 1.
(FYI, I wasn't defending the zero on the right decision, I would prefer zero on the left)
Well yes, except they'd count to three still because they're starting on 0 and increase that with each apple.
I don't think they are mutually exclusive. I mean, here's typical examples of my kid taking in some screen time:
It would be a far more valuable lesson to teach children that talking about something doesn't will it into existence so that you can start making meaningful statements about it, like how many of them there were.
It's like tampering with witness testimony: "Witness: Somebody stole my handbag. Police: Do you remember anything about him? Can you describe him?" All of a sudden the witness remembers that the suspect was male, not female, when the witness may not have seen such a thing at all.
...or like a show I recently saw on History Channel about the zombie apocalypse. Harvard Professor on TV: "Well, scientifically speaking, there is nothing to suggest that a zombie apocalypse would be a scenario we will likely ever be facing. But if there were such a thing as a zombie apocalypse then one of the most important things would be hygiene, so as to minimize the risk of infection, which is a fascinating topic that I have published about quite extensively." Reporter: "Oh, really? Tell me more about the hygiene precautions that we need to use in the event of a zombie apocalypse." Harvard professor: Spends the next 10 minutes of screentime talking about zombie hygiene. Dumb idiot in front of TV: "Honey! Come down here! They're talking about the zombie apocalypse on TV! They have a professor from Harvard and everything!" All of a sudden: The zombie apocalypse is a thing.
Conversely: The fact that you can't see something doesn't mean it doesn't exist... (like atoms)! "How many blue cats are there? -> zero." Might sound okay, but "How many atoms are there? -> zero" is quite wrong, since the cats are presumably composed of more than zero atoms but we can't really count them etc etc
So when these kinds of presupposition violations come up, then you should teach your little daughter to go "Huh? What the? I can't answer that!" Because "Huh? What the? I can't answer that!" is actually the right answer!
The problem is that when you ask "How many blue cats are bouncing?" you are stating that blue cats are in existence. So there'd have to be some, not none. There'd have to be a number strictly greater than zero. So zero/none can't be the answer, or you're somehow breaking the rules of the game of logic, or how the computer game is set up.
If, however, you say "How many cats are blue and bouncing?" then the presupposition would only extend so far as to state that cats are in existence, which is reflected on-screen. In that case, it may well be the case that there are zero/no cats that are blue and bouncing.
Let me crossindex something I linked in the other thread:
https://en.wikipedia.org/wiki/Syllogism#Existential_import
When Aristotle describes his logic (All men are mortal...) he never fathoms the possibility that one of these sets that he talks about could be empty. (Empty sets, in that sense, don't belong in the realm of science, as far as he is concerned, but in the realm of fiction and so forth).
So, to get back to the original post: If I were doing this for a 2-4 year old, then zero is a can of worms I would try to avoid opening altogether. Or I would make sure that the presupposition-part of any question that is asked is in line with the evidence on screen.
If, instead of following Aristotle, you follow the embedding of the syllogism into modern predicate calculus and modern predicate calculus into propositional logic, then you end up with outcomes that will be mindbogglingly counter-intuitive to a 4 year old (but to any person, really).
Example: "All flying horses are three-legged." would become a true statement.
Since there are no flying horses, this is always an empty set. Ex falso quodlibet. Therefore always true. A valid statement.
If someone ask "How many elephants are in the fridge?" it would be weird.
I don't think that it is unnatural to answer "zero" in the first question, it is probably a social convention. For the second question I agree that is unnatural.
This is not po-tay-to po-tah-to, people. It's a real thing.
Most people aren't arguing this. Most people are discussing colloquial understanding of language and discussion. The differences you are arguing are important in a highly specialized area of math and science.
It feels like you're arguing whether an object is a Boeing 737 or an Airbus A320 when the important point is an airplane is not a car.
I was recently writing a function that returns early if all items in a list meet a certain condition. It was interesting to think about what should happen if that list is empty.
One theory I have found pieces of and put together is that a primary pillar of mental health is how your life experience as an adult matches your life experience as a child. If most of us are going to spend a significant amount of our lives glued to screens in order to be productive members of society, at least introducing that early might make the matching experience more tolerable.
It's not like they had any chance of lacking screen time through their childhood with schools as they are. Nor were they deprived access, or lacked natural ability come 5 and 6 on... Or lacked inclination to become addicted to WoW come 13 or 14.
I'm not sure what you mean with your point about "life experience as an adult matches your life experience as a child". Maybe I'm completely missing it. For any of us born before the home computer revolution of the 1980s, childhood and work are likely dramatically different things. I'd rather the kids get a chance to be children than start preparing them for a life of work at age 2 or 4...
Lavish your child with praise and attention, everything they could want and making sure everyone is successful at everything and never "fails" ... come to the real world as an adult and reality isn't as nice, the world isn't actually like what you grew up in and your feedback systems simply aren't equipped or designed to handle the situation life puts you in.
We do push it at times when we are traveling or she’s sick where she will get 2-4 hours of iPad and videos along with her books. She will also pick a book over the iPad almost every time the choice is available so I am not worried (yet).
https://journalistsresource.org/studies/society/public-healt...
Actually, I think they're arguing that it would be useful if more people understood this. In addition, the point of the game was to teach logic, not a colloquial understanding of language, which every child gets growing up anyway.
Chess Kids: https://www.youtube.com/watch?v=ZK0vtFkm7mE
huh?
I have rewritten it. I'll leave it to you to figure out my opinion of autocorrect ;-)
I wondered whether what's shown on the screen is also supposed to be a complete representation of the set in question, but apparently the correct answer to every question is 0 and I don't see any cats (maybe it just doesn't work correctly here).
def all(xs, predicate):
for x in xs:
if not predicate(x):
return False
return True
Similarly, def any(xs, predicate):
for x in xs:
if predicate(x):
return True
return False
You say "Ex falso quodlibet" which makes it sound like you believe such a system leads to contradictions, but this would come down to the choice of rewrite rules.Example: a rewrite rule from "NOT all(xs, predicate)" to "any(xs, NOT predicate)" would lead to contradictions. Reasoning:
A. all({}, predicate) is true by def of all
B. any({}, NOT predicate) is false by def of any
C. NOT all({}, predicate} is false follows from A
D. applying the rewrite rule to C, any({}, NOT predicate) is true, which contradicts B.
However, in first-order-logic, that same rewrite rule is fine since sets always contain elements. It doesn't seem like to much work to go from Python-esque any and all to ∀ and ∃. For example "all(xs, predicate)" could be rewritten to: "¬P ∨ (∀ xs. predicate)" where P is a new proposition variable for whether xs contains elements. This relies on the semantics including short-circuiting evaluation (which may be cheating, I don't know).Or maybe the above is what you already meant when you said "following the embeding..."?
...it comes down to how you represent natural language quantifiers in logic.
The semantics of "All men are mortal." is that "all" is the quantifier, which takes two higher-order arguments. Using x as the variable that is quantified over, the first argument would have to be a predicate of x and is called the restrictor. The second argument also has to be a predicate of x and is called the body. So "all" is the quantifier. "man" is the restrictor. "mortal" is the body.
Following that notation we would write "All men are mortal" as
all_x { man(x) } { mortal(x) }
Now the question is how to represent this natural language quantifier in first-order logic. Most computer scientists would think ∀x { man(x) -> mortal(x) }
But this is NOT the way Aristotle thought about it, and not the way most human beings naturally think about it. The natural way to think about it is ∃x { man(x) } ∧ ∀x { man(x) -> mortal(x) }
The first part of the statement is what's called "existential import". (cf https://en.wikipedia.org/wiki/Syllogism#Existential_import)When I say "ex falso quodlibet" I mean this: https://en.wikipedia.org/wiki/Principle_of_explosion
Moving over to the example about flying horses:
all_x { fly(x) ∧ horse(x) } { three-legged(x) }
Without existential import the statement would mean. ∀x { ( fly(x) ∧ horse(x) ) -> three-legged(x) }
Now let's evaluate that within a logical theory that contains some common sense: ∀x horse(x) -> ¬fly(x)
The statement would then become provable. That's unnatural. No "normal" person who hasn't been taught through formal education to think in a particular way about implication would say "Oh yes, all flying horses are three-legged, that sounds perfectly reasonable."Now WITH existential import, the statement would have to mean
∃x { fly(x) ∧ horse(x) } ∧ ∀x { ( fly(x) ∧ horse(x) ) -> three-legged(x) }
So now, using the same piece of common sense, the statement is no longer provable, but it's negation is (the statement is unsatisfiable). That's how a "normal" person thinks. A normal person would respond by saying "Hang on! There is no such thing as a flying horse! Therefore you are talking utter nonsense."Going back to the original post: "How many blue cats are bouncing?" means
howmany_x { blue(x) ∧ cat(x) } { bouncing(x) }
Which statement contradicts a state of the universe / game-screen, wherein there are no blue cats, if you interpret the statement by using existential import.My suggestion was to rephrase as "How many cats are blue and bouncing?" which means
howmany_x { cat(x) } { blue(x) ∧ bouncing(x) }
So now instead of "blue cat" being the restrictor and "bouncing" being the body, you would have "cat" as the restrictor and "blue and bouncing" as the body.This would be better, because now you can use existential import the way "normal people" do, and still get to the desired result "zero" instead of the result "I can't answer that question". You avoid making a presupposition that contradicts the known state of the universe.
I'll think about this some more and see if some design decisions can improve the game with regards to "existential import". Thanks for introducing that concept by the way.
My feeling about this when developing the game with my daughter was that when playing a game, you are taking part in a game universe. If there were a reference to flying horses, the inference would instead be "there must be flying horses in this game". The generative gameplay which is creating cats with random attributes also suggests that blue, bouncing cats are likely to exist but just aren't pictured on the screen presently.
In early education (even undergraduate education) it's common to present a simplified model that in some cases contradicts other models, and developing the cognitive machinery to explore and understand the model one working within, its limits, and how it relates to other models may be more valuable than comparing which models better align with objective (or, academic) truth.
At least, this is the thought process I went through with some of the trade-offs about deciding what answer was most correct from the lens of various formalisms (in my limited exposure to those) versus what answer leads to the richest learning in the age-group.