Computer Science Fair Experiments
January 2, 2020 6:16 AM   Subscribe

My kid (7 yo, 2nd grade) attends a program where they're doing an optional science fair in March. He's never done such a thing before and he's going to need some help coming up with an experiment. It must be a true experiment rather than a demonstration (it must follow the scientific method, have a hypothesis, etc...). His primary interest is computers and coding. I'd like to be able to suggest a few possible projects to get him started.

He understands binary logic and single logic gates (though he's never done any exploration of how, say, a half adder is created out of them), and the basic principles of how computers work. He codes in Scratch and MakeCode (he can use variables, functions, and if/then/else appropriately). We have Snap Circuits, LittleBits, a Makey Makey and a Circuit Playground Express. He is not crafty at all and has poor fine motor skills. One of the reasons he glommed on to computers is that he can make things without physically making things. Tiny Legos just frustrate him. I do have access to a laser cutter and 3D printer at work, but I am not going to do this whole-ass project for him. If we need a piece, though, I can fabricate one.

The thing that is keeping me from generating a list just based on what I already know he's capable of is the experimental angle. I used to tutor kids doing science fair projects and I 100% support the stipulation that this be an actual experiment that follows the scientific method. But in the CS context I am having trouble generating ideas that are more than just "build a thing and demonstrate how it works." I was an English major. Are there standard freshman CS or electrical engineering experiments that can be adapted down to a 2nd grader? Any ideas?
posted by soren_lorensen to Education (15 answers total) 5 users marked this as a favorite
Perhaps which sort algorithm is fastest and does running tests on different platforms and languages match theory? Then some investigation if it does not.
posted by sammyo at 6:31 AM on January 2, 2020 [1 favorite]

7 feels really early to me for a proper scientific method science fair, I think we had ours at 9/4th grade. It seems like at that age your options are either very simple, or over complicated and obviously done by the parent. Sort algorithms might be complicated for a 7 year old

For simple, I would do something focused around the random number generator in scratch or other language. You have a lot of experiments you can do with basic dice roll statistics, like what happens if you add a bunch of random numbers together, will that be greater than x number? Are there patterns in the random numbers? I'd start him investigating that himself and only step in if he doesn't have any ideas
posted by JZig at 6:48 AM on January 2, 2020

Computers exist to make things better in the non-computing world. Maybe it would be good to do a non-computationally-based experiment (something involving plants, or traffic, or chemistry, or literally anything else he's interested in -- his cat? laundering stuff?), then use the computer to maybe analyze or present the information. Connecting the power of computation with the tangible world is where real power for good lies :)

Here's an idea: Make a very simple program and create three versions, each with a different user interface choice. Get 30 volunteers and assign them randomly to each of the three user interfaces. Write instructions to request each person do a particular task, then time how long it takes to accomplish the task. _Measure_ the differences in the ease of each user interface. It would be super awesome to also give each person a survey afterward asking about their feelings about the experience.

Then you can analyze the data and voila -- your guy is ahead of the vast majority of software developers in the world.

Usability is important for all computer programs, even if they are only used by scientists or by the person who writes them.
posted by amtho at 6:50 AM on January 2, 2020 [6 favorites]

Could you do a lightweight algorithm versus intuition test?

"Are computers able to guess a number between 1 and 100 better than people can?"

Write a simple test protocol, and a binary search algorithm (Pick a number. Is it between one and fifty? is it between 25 and 50? is it between 25 and 37, Is it between 25 and 30? Is it between 25 and 27? Is it 26?), and then record 10 people guessing the number versus 10 people running the program. The computer should usually get the number within 6 tries, can people do better on average? You could have the program running in the booth, along with the poster showing the results.
posted by jenkinsEar at 7:30 AM on January 2, 2020 [2 favorites]

I was initially thinking usability too - a variant on amtho's idea above (three UIs) would be for him to make a simple game in scratch and have three levels of detailed instructions, and see how long it takes people to complete given the level of instruction they were given.

A non-UI one would be "see how long it takes to do [X] depending on what else the computer is doing (playing a video in another tab, running other cpu intensive programs, etc)"
posted by true at 7:30 AM on January 2, 2020

How about something related to saltwater circuits? He could make a hypothesis about what would happen with varying amounts of salt or with something other than salt dissolved in the water. You can use Snap Circuits for this.

Another possibility, if he knows how to write a program that gets user input, would be to test something about human behavior or preferences using a program he writes. If people are asked to guess a number between one and ten, do they pick all numbers with equal frequency or are some numbers more popular? (To make it a more interesting programming challenge, the program should keep track of the totals and present the data at the end, but if that makes it too hard, he could just write something that asks people to guess a number and tells whether they're right or wrong and he could manually tally the guesses.) Or if there's a visual interface with identical things to click on left and right, do people preferentially pick one side over the other? Or if a computer program asks whether you think it's male or female, will more people pick one gender than the other?
posted by Redstart at 7:45 AM on January 2, 2020 [3 favorites]

This may be beyond the abilities/understanding of a 7 year old (I don't know any 7 year olds so it's hard for me to judge), but have you heard off agent-based models? The basic idea is

1) "Create" (essentially declare) a bunch of imaginary people/things/animals/objects
2) (optional) Give them different characteristics
3) Give them rules to follow
4) Watch what happens.

You can create virtual experiments (you can have hypotheses and results, but of course your units aren't real people) by varying the characteristics of the units or the rules that they follow. So one of the most well known agent-based models is the one that shows if people want ONE of their EIGHT neighbours to be the same race as them, you end up with near total segregation.

Here's an introductory (adult-level) article
on agent-based models. Typically one runs the simulation lots of times (say thousands) for each set of rules, just to avoid flukes. A kid could do maybe 10.

There is software for students to work with agent-based models -- if this is something you're interested in and can't find something, let me know and I'll help you look -- that would allow them to set up their own idea/rules etc. If you can think of a kid-relevant problem to simulate, then you could be good to go. possible idea: something about trading lunch items? turn-taking for some playground equipment or toy?'s a good one that's right up my alley...Imagine an unbalanced triad -- (ok, let me explain -- a situation where there are three people -- Person A is friends with Person B and Person C. Person B and Person C either don't like each other or aren't friends). This makes things difficult for Person A (Read Scientist, Pirate, Viking!). THere are two ways to resolve this: Either Person B and Person C become friends (Rule 1) OR Person A drops one of their friends. Simulate this and watch the results evolve over the whole simulated class/school. I promise you the results will provide relevant information for understanding bullying and queen-bee/mean girls behavior (in reality this process is gendered, but I probably wouldn't raise that with a 7 year old as I think the subtleties could be lost and this could come out wrong).

Note this is a network-y simulation and might be harder to do than the isolated-agent versions. On a computer. This could also be done "by hand" on a pegboard with some yarn. Just literally connect and unconnect the pegs according to the rules. Take pictures along the way.
posted by If only I had a penguin... at 8:16 AM on January 2, 2020

When my son was that age, we did "Which shape parachute works best?" We cut out square, circle, and triangle parachutes out of plastic tablecloth material, attached strings and then attached a washer to the end. Then he launched them off the playset and we timed how long each took to get to the ground. A friend of his did "which material works best for a paper airplane": make a paper airplane out of a few different materials and see which flies best. Another kid made cookies leaving out different ingredients to see how they affect the end cookie result. We also did one where we tested bacteria on washed and unwashed apples to see if washing made a difference. You can order bacteria testing kits and test bacteria in lots of places! That one has a lot of possibilities.
posted by LKWorking at 8:51 AM on January 2, 2020 [5 favorites]

How about writing a program that does a task, such as sort 10,000 items. Write the program in different languages and see which is fastest. This will be simple and easily explained to second graders that may be be knowledgeable about how computers work.
posted by tman99 at 9:04 AM on January 2, 2020

Buffon's needle to estmate Pi. The hypothesis H0 is that this procedure will estimate Pi every time. H1 is that it'll fail... today of all days!

Do it physically, with paper and sticks (perhaps not matchsticks), and do it with software.
posted by at at 9:47 AM on January 2, 2020 [1 favorite]

At age 7 surely the idea is for him to learn something or perhaps develop an interest in something new to him. If he’s interested in programming he will pursue that anyway. But this may be an opportunity to let him learn something else.

At round about that age I remember an experiment with a packet of garden cress seeds and different growing conditions- different levels of light/water and different growing medium (soil/kitchen roll/cotton) and their effect on seed development. Bonus, you have to set up a couple of trays with different growing conditions and sprinkle some seeds/a bit of water but he doesn’t have to make anything at all. Extra bonus, plenty of hypotheses to test around the need for both light and water and edible results.
posted by koahiatamadl at 9:53 AM on January 2, 2020 [7 favorites]

Can you let him browse a kids science magazine
or section for kids andd see what is interesting? Eg
posted by typecloud at 11:00 AM on January 2, 2020

here's a possible starting point:
posted by dustpuppy at 12:04 PM on January 2, 2020

Just be careful of using human test subjects. I know it seems like it's not a big deal at this level, but at my son's school anyway, they made them fill out specific forms to submit their "protocol" for review when using people. It's probably not a huge ordeal, just keep that in mind if you decide to use people!
posted by LKWorking at 1:09 PM on January 2, 2020 [3 favorites]

When I was around that age, there was a whole thing around which notebook you used at school, so I did a project testing the durability of binders (hypothesis: the more expensive the binder, the more durable it will be; experiment: repeatedly drop binders out the window, recording condition after each drop; conclusion: the expensive trendy one fell apart almost immediately, while the really cheap one was indestructible). It's also just objectively fun to have some friends over and toss binders out a window together (we had a bucket on a rope to haul them back up).

It's not exactly CS, but I suppose the modern version of that would be testing the durability of cell phones or tablets or phone/tablet cases. Technology-related while still being a physical activity, and he can use a computer to graph the results and such after. That has obvious practical limitations for cost reasons, but you could look at making a test dummy to stand in for the devices or buying some cheap non-working old models off eBay to abuse.
posted by zachlipton at 6:59 PM on January 2, 2020 [2 favorites]

« Older Best places to live in PNW with these stipulations...   |   Cheap alternative to iPod Touch Newer »
This thread is closed to new comments.