4-5 year old children seem to use the scientific method
July 28, 2011 at 10:31 am 3 comments
Intriguing result that suggests that children apply the scientific method quite early in their development. My observation of student programmers suggest that they don’t test only one variable at once. They tend to change several different lines of code that they think might be related to a bug, and rejoice if the bug went away — without ever understanding why. I wonder why the difference? Is programming something that 18 year olds don’t see as understandable, or do we grow out of the careful study of one variable at a time? Or is it that students in CS classes have a goal of creating a working program for a grade, rather than understanding how the program works?
In cases in which the children didn’t know which beads made the toy play, the researchers found that the kids tested each possibility in turn in order to find out — much like the way in which scientists devise their experiments to test individual variables separately. Laura Schulz, one of the researchers from MIT, explains that it’s the same idea that you use when trying to find out which of your keys opens a door: “You might change the position of the key, you might change the key, but you’re not going to change both at once,” she says.
via Learning by experiment is all in a day’s play : Nature News.
Entry filed under: Uncategorized. Tags: cognitive science, computing education research, educational psychology, science education.
1.
Beth Simon | July 28, 2011 at 1:01 pm
Well Mark, What do you give them points for? A working program? Or some type of analysis of the process they went through to create and debug the program? Or even an interview or other form of assessment of their understanding of their program?
This has been something Quintin and I have been pondering this past year or so. A hard nut to crack. One of the benefits of pair programming is undoubtedly the greater opportunity (at least) to talk about why something works. At UCSD, when I teach with PP in CS1, I require each person to come in for an individual 5-minute interview with a tutor in the lab. There are two questions asked. The first is “what does THIS (point at structure in code) do?” The second “If you wanted to change your program to do X’ instead of X, describe in words how you would do it.” Graded 2,1,0 It’s mostly a social mechanism to say “hey, you need to be able to understand how your code works”. 2s reign, 0s tutors speak to right then, and refer to me.
Beth
2.
Mark Guzdial | July 28, 2011 at 1:42 pm
Sounds like a great idea, Beth. We might also ask students to execute a trace of their program using UUhistle or similar. That’s a focus on learning Behavior, part of Ashok Goel’s Structure-Behavior-Function model of designers’ knowledge.
3.
dbw | July 31, 2011 at 6:09 pm
There are many (black-box) situations which require experimentation to get to the results and it works very well.
But, it should not be a part of programming. You do need to understand the code thoroughly, so the changes can lead to defined results. Experimentation or guesses may get the result or may cause other problems.
Experimentation is always part of the learning process.