My five year old knows Basic. (children and computers) Peter Favaro.
My Five Year Old Knows Basic
A friend of mine recently called to tell me that he suspected his seven-year-old daughter had a "learning problem.' Six months after purchasing a Commodore Vic-20 home computer he is worried because she just can't seem to grasp the Basic programming concepts of strings and arrays. I asked him what in the world would make him think that she could be capable of understanding a complex concept like that. He replied, "They're learning about computers in school aren't they?'
Poor kids, I can see it all now. In ten years we will be labeling children who cannot successfully and efficiently program in at least two machine languages "computing disabled.' With the current emphasis on computer literacy, many educators are pushing the fact that children should know as much about computers as possible, at the earliest possible age. A recent educational report speculated that 25 years from now children would need the equivalent of a Master's degree in computer science before they graduated high school.
I almost pity the parents of these poor children who will surely sigh in frustration, "Just when I learned the new math!'
While I believe that children growing up in the computer age should certainly be computer literate, there is a danger in expecting too much too soon. The six-year-old machine language programmers that we read about in the papers are invariably gifted and are the exception rather than the rule. Attempting to teach concepts that are beyond what children are capable of understanding at various developmental levels is likely to cause enduring negative perceptions of the computer experience and keep some children permanently turned off to computers.
This article discusses a developmental framework of children's cognitive and behavioral competencies aimed at helping parents and teachers understand what children are capable of learning about and on computers, and at what ages or stages of development. Before presenting this framework, some preliminary concepts are helpful. One is the notion of readiness, and the other is understanding some of the fundamental differences between human language and computer language.
The term readiness implies that a child will learn a concept, behavior, or skill, only when he is developmentally prepared and not before. For example: Two children may be the exact same chronological age, and have had similar experiences through life. For the sake of this example, let's say they are both seven years old. One of these children may be extremely proficient at printing his name, spacing the letters equidistant from one another, keeping within the lines and making everything in the correct proportions. The other child may have difficulty manipulating the pencil, may draw wavy, unsteady and misproportioned lines and make many errors.
One hypothesis might be that the second child has a visual handicap. Perhaps. But an equally feasible possibility is that the child is not developmentally "ready' to perform that task. When this is the case, no amount of training will help that child write neatly, as any parent who has tried to teach a child in this situation will attest. In other words this child has not reached a developmental state of "readiness' for performing this writing behavior. One cannot assume that all children will be ready to perform certain tasks at the same time; with some behaviors individual variations of months or even years are quite common.
The concept of readiness applies not only to outward behaviors, such as walking, talking, and writing. It also applies to a child's ability to solve problems, link together ideas, understand concepts and think in a logical, orderly fashion. These abilities develop gradually over the first 15 or so years of life, and this is the major reason why most first, second, and even third graders cannot learn advanced programming languages. This does not mean, however, that they cannot benefit from interacting with the computer on some other level.
People have commented on the fact that children seem to pick up computer programming languages, as they pick up most foreign human languages, much faster than adults. While this may be true, it is not necessarily true for the same reasons, and should not be used as an excuse to push advanced language programming on young children.
Children, as a rule, learn most things faster than adults because more of their experiences are centered around learning All languages are symbolic ways of communicating, governed by syntax and grammar rules. In comparing computer language to human language we see that the rules which govern computer language are far more strict and precise.
A young child not yet two years old can say to her mother, "Mommy, give Jenny muk,' and still be understood, even though there is an error in the command. Programming in a computer language such as Basic always requires correct spelling and syntax to obtain the desired outcome of the command.
Errors that are detected by the computer and redirected to the user give little hint as to what must be done to correct the error, and tell you only what and where the error is. Human feedback regarding errors in communication can be more precise in clarifying the objectives of the communication.
A third difference between computer language and human language is in the way the two are processed and received on the sensory channels. Human language is a combination of visual, auditory, and tactile behaviors. The same sentence said with different gestures can mean entirely different things.
Computer language is primarily a written language. It is communicated in written form and basically understood in written and visual form, except for those occasions when a beeping noise or other sound tells us that something is happening with the computer.
Understanding that the precision, structure, and limitations of programming languages make it different and more difficult for very young children to learn computer programming, let me point out a few other developmental prerequisites that are necessary for this task. Computer programming requires a knowledge of the basic arithmetic operations. This means more than just an understanding of the times tables. It requires an understanding of number concepts and relationships, such as "greater than,' "less than,' and "equal to.'
Creating an algorithm to help solve a problem often requires a rather advanced knowledge of algebra and trigonometric functions that aren't taught until the later primary grades. Computer programming requires that the child programmer have the ability to put aside the egocentric stance that is such a common characteristic of young children.
Programming requires the ability to "think like a computer,' following the logic that the computer would follow to solve a problem. Similarly, programming requires an understanding of sophisticated problem solving strategies to master the use of conditional and branching statements, skills which are not attained until fourth grade at the earliest. Along with this, other requisite skills include sequencing ability, memory and mnemonic, skills, and organizational and planning abilities.
The theory of intellectual development formulated by Swiss psychologist Jean Piaget serves as a useful model to help understand the limits and capabilities of children across the developmental continuum. Piaget's theory assumes that children pass through a series of stages in cognitive skills from infancy through adolescence. Pressures from the environment (especially the learning environment), cause the child to adapt to it and organize his thinking in new ways.
The Sensorimotor Stage
In the earliest stage of development in Piaget's framework, the sensorimotor stage, which lasts from birth until approximately two years, the child moves from instinctual reflex actions to symbolic activities as he begins to understand that he is separate from the environment. During this stage, there is a limited ability to anticipate the consequences of actions.
What can a child learn from computers at this young stage of development? On the surface, perhaps not much, but when you consider the advanced color graphics and sound capabilities of today's microcomputers, they seem like the ideal tools for creating a most elaborate "busy-box' for the very young child. Since fascination with colors, changes in shape, sound and patterns are essential elements in the experimental world of children at this stage of development, sensory stimulation by computer may serve the same functions that brightly colored toys and objects hanging over the cribs of infants today serve. Programmed shapes and swirls that move across the screen, change size and shape, appear and disappear may help train visual reflexes, as well as become a source of interest and pleasure for the infant or very young child. Although research has yet to bear this out, it is certainly a question that merits further investigation.
The Preoperational Stage
The second stage in Piaget's developmental framework is called the preoperational stage and spans the two to seven year age range. During this period, the child begins to gain control over his environment, largely because of his ability to use language to express ideas. There are, however, still many limitations which prevent the child from performing mental operations as well as he can perform physical ones. These restrictions are very evident during the early parts of this phase and gradually disappear as the child enters the primary grades.
The limitations of preoperational thinking include the belief that inanimate objects can have human qualities, the inability to recognize that matter is conserved regardless of changes in form, the inability to understand groupings and hierarchical configurations, a narrow concentration on one aspect of a situation to the exclusion of all others, an inability to understand that something can have more than one meaning.
One child I know who is in the preoperational stage became very excited when his mother sarcastically announced that his sister was late for dinner by saying that she would soon "grace us with her presence.' The child, thinking that this statement meant that she would come downstairs and give everyone at the table "presents,' became extremely happy, but later cried in frustration and disappointment when the word was not kept. No amount of explanation could convince him that there was more than one meaning to the word "presents.'
Although the abilities of children at this age are limited to the physical, children at this level can begin to learn much from computers, even though programming skills are still out of the question. Children of six or seven can easily learn to boot a disk, work a joystick controller, and use a keyboard.
At this stage of congnitive development, the computer can become a useful training tool to teach number and letter recognition, color discrimination, sight vocabulary, and some number skills. Since this period covers a wide span of ages, it would not be realistic to think that a two-year-old could accomplish the same tasks as a seven-year-old.
I have found, however, that some twos, many threes, and almost all fours can manipulate both joysticks and paddles surprisingly well. These children can have lots of fun drawing swirls and scribbles with the joystick using a relatively simple Basic program. Although this may be more fun than educational, it does stimulate various eye movements, gets children to use their eyes and hands together, and provides an opportunity for attaining mastery over an environment.
Children at the upper range of this developmental period (5 to 7) can start to learn spelling exercises like Hangman, and game-oriented drill-practice exercises in CAI. Exercises such as these have often been called fancy flash cards, but this should not be looked at negatively. Both flash cards and the computer provide training for a task that is boring but necessary--memorization. Some things are best learned by memorization and flash cards as well as computer assisted drills. Both provide the practice necessary to learn something by rote.
The Concrete Operations Stage
The third stage in Piaget's developmental framework is called the concrete operations stage and lasts from the seventh year until approximately the eleventh year. During this period many of the limitations of the preoperational stage disappear, as the child gains concepts of size, spatial relationships, and conservation of matter. In this stage the child can manipulate more than one aspect of a problem at a time and can do math problems and some word problems in his head. The major limitation of this developmental phase is the inability to think and perform in the abstract. The abilities of the concrete operational child are limited by the events, objects and physical representations at hand.
In the later years of this period, children can start to become familiar with some of the Basic language commands, like the PRINT, INPUT, and GOTO statements. At this level children can learn how to solve simple arithmetic problems using the computer primarily as a calculating tool. CAI tutorials and practice drills are very easily understood and enjoyed and can be implemented without much help from the classroom teacher or parent since the children now possess adequate reading skills. Using the computer to construct a model or simulation from scratch, and programming with advanced concepts such as conditional and branching statements are still beyond the capabilities of most children at this stage because they lack the sophisticated abstract reasoning ability required.
The Stage of Formal Operations
The final stage of development in Piaget's conceptual framework is the stage of formal operations and includes ages 11 through about 14. Piaget believes that by the time a child achieves the level of formal operational thought, he has all the cognitive "equipment' necessary to construct theories, design elaborate tools, and do higher level problem solving tasks.
The only thing that separates the cognitive abilities of a child who has achieved this level of thinking from a scientist or engineer, Piaget believes, is the content of what is being thought about, not the ability to manipulate that content. The formal operational child can make judgments based on abstraction and speculation and needs no concrete frame of reference. Problem solving can be accomplished by deductive hypothesis testing in an orderly scientific fashion, using mental strategies that do not necessarily come from experience.
During this period children begin to understand and use sarcasm, double-entendre, and metaphor. They can be taught to exploit the computer to its fullest capacity, and are ready for their first real experiences in higher language programming. Simulations can be developed (the nuclear power plant simulation Scram from Atari was developed by a 14-year-old), and learning about computers can be facilitated through the understanding of computer architecture.
At this level children can create their own computer assisted instruction tools and exercises as well as benefit from drills and tutorials. This is not to say that every 14-year-old can or will be a master programmer, it simply means that, developmentally, children who have achieved the milestones of formal operational thinking will be ready for the experience of learning about more advanced computer concepts and applications.
An understanding of the cognitive abilities of children is important in determining what computer experiences are most appropriate for them. However, behavioral competence is equally important, and can affect whether a child is ready to begin using a computer. Behavioral factors which will influence a child's ability to learn about and benefit from the computer include attention span, frustration tolerance, ability to delay gratification, perseverance, self-monitoring ability and self-motivation, and autonomy.
Attention span is, of course extremely important and must be carefully considered particularly with young children. Physical factors such as eye strain can cause fatigue and sometimes even headaches in children who must attend to a CRT for long periods of time. The attention span for most four- to six-year-olds who do one task over and over again is between five and ten minutes.
As childen get older, their attention spans gradually increase so that by the time a child reaches the age of 10 or 11 he can sit at a task for 40 minutes or so.
Frustration is a natural part of almost every human experience almost every day. We are human and prone to err. A sign of behavioral maturity is the ability to persevere through frustration and try again. Too much frustration can exhaust our patience and build lasting negative attitudes and even a conditioned aversion to the source of the frustration. This is one reason why it is not a good idea to push children beyond their developmental capabilities.
Although computers can induce frustration, they can also help us to become more patient and understanding of our flaws. The concept of debugging should be taught to children even before they begin programming. Psychologically, it is extremely healthy to be able to own up to one's mistakes. In computer programming, mistakes are both normal and natural, just as they are in life, but we can change them faster and have more tolerance of them, thereby perceiving them as acceptable. Mistakes in computer programming also elicit help and cooperation from other children fostering peer help and support.
Children who are apt to respond to frustration with impulsive or destructive outbursts are not yet ready to use computers. A certain degree of autonomy and self-motivation is a desirable behavioral pre-requisite for computer experience. Children who are overly dependent on the teacher's attention are likely to become distracted very easily from computer tasks. Similarly, children must be able to reinforce themselves for their successes. Even though computers offer one kind of reinforcement in the form of feedback, praise for effort can help a child stick to a task that is becoming frustrating or difficult.
In summary, I have tried to present a basic outline of the ways children develop both intellectually and behaviorally. It is important to let a child work at his own speed and remember that not every child will take to computing, no matter how desirable a skill it is to learn. Understanding the child's cognitive abilities and experiential world can help us construct the most meaningful teaching experiences possible.
Most adults (including me) have to live with the feeling of being overwhelmed with responsibility daily, let's not make kids older than they are. Spare them the feeling of being overwhelmed until they're older--in today's fast-moving world that leaves them their freedom all the way up to the ripe old age of about 13.