teaching children : Java Glossary
- teaching children
I developed two styles of teaching, one for second year university students that I
used as a tutorial leader at UBC (University of British Columbia) teaching FØRTRAN and assembler and one for
children 7 to 15 I used as head instructor at First Computer Camps using
BBC (British Broadcasting Corporation) micros.
Teaching Ages 7 to 15
My teaching style for children is chaotic and
exhausting. I could not imagine it being used in traditional schools without a team
of extraordinarily good assistants as I had. Some kids are freaked by the
pandemonium, or the competitive pressure that develops. The results are spectacular.
Within 5 days, even complete novice, 7 year olds write
5-page, well structured, beautifully documented computer animations or games.
The assumption that many educators make is that kids don’t want to learn and
you have to coerce them. My assumption is that they are naturally curious and your
job is not to squash that wide-ranging curiosity and encourage them to remain curious
in the event of frustration. You are there to facilitate them. They are not there to
perform for you.
Whereever a child’s curiosity leads, That’S the curriculum for
now. So much energy for learning is blunted by trying to control
what a child should learn when.
This is a kid’s environment. Lots of noise, chaos and
goofy stuff. Teachers are taught that kids must be quiet and calm. This really
means bored an inattentive. Library calm and order is a pleasant environment for
teachers, but deadly for kids.
When I speak, I demand absolute silence. In return I
speak no more than a couple of carefully planned sentences, dramatic if possible.
I don’t repeat myself publicly. I want the kids hanging on my every word.
The last kid to stop talking I made run out of the room a block or so away to
ring a bell then run back. It was not that much of a punishment, since the kid
got the fun of making his classmates laugh when they heard the bell. But I did
get rapt attention.
I teach something to a small group of kids I don’t teach to
the others. This becomes their secret weapon to use in their programs. The
uninitiated kids see the results and either wheedle the information out of the
privileged kids, or chase me around to tell them too.
I remember a professional math teacher’s mouth dropping as a gang of ten
year old kids pursued me during lunch break demanding to be
taught trigonometry, complaining that it was unfair I had taught it to
Rockfish (a kid with a foghorn voice sort of like
Froggie in Our Gang) but not them. If I later teach this material to the whole
class, they are eagerly primed to learn it, since they have already seen the
magic power that knowledge will bestow.
At the beginning of each class, I provide a sample program
listing that does a streamlined version of what I want the kids to learn. It is
commented to the hilt. They can just type it into try it out. In the process of
getting the typos out, they have the lesson well understood and are well on their
way to theme and variations, even if they don’t pay attention to a word I
say. My assistants and I would revise these sheets every night based on what we
had discovered about the kids interests, unexpected progress, or difficulties.
Gradually decreasing bang per
effort expended. On day one, all the student had to do was hit a function key and
he would be rewarded with a randomly sized, placed and coloured helicopter. He
got maximal reward for least effort. As time progressed, the student had to work
ever harder for ever more subtle rewards in fine control. But by then he was
motivated to want that fine control.
I taught methods first, iteration and random numbers
second and arithmetic last. It was absolutely natural in drawing for kids to
organize methods into hierarchies of reusable components they could share. Right
up front, I taught the techniques of documentation, encapsulation and reuse for
creating large complex programs. Kids 10 to 12 love to build complex models of
entire cities. They are fully capable of writing enormous, complex computer
programs. They have better ability than adults to keep track of all the pieces.
It is important to think in terms of writing big well-structured programs using
only a few language features, right from day one.
Learn by experiment
I presented the editor this way. These keys do
something. See how many of them you can figure out what they do. The unspoken
message is that computers are supposed to be mysterious and
undocumented. Getting a computer to work is supposed to be puzzle to figure out.
You are not supposed to get it on your first try.
Let the kids teach each other
Kids have their own ways of explaining
things. They can do it in parallel much faster than I can. All I have to do is
give enough of a hint so that a few students figure it out. It then ripples
throughout the class by student to student interaction and with help from
assistant teachers. This way I don’t bore to death the bright students.
Regular students relax and come to understand they are not supposed to understand
everything the first time, right off. They have to experiment to understand. They
only get clues in a great puzzle.
On opening day I gave a little introductory speech where I
said something like, “I have interviewed you all and it is clear you want
more than anything to learn to write your own computer games. I promise I will
not teach you anything that is not necessary to write computer
games. Unfortunately, sometimes it won’t be clear why you need to learn
something, so you will just have to trust me.”
One of the very first exercise I did was hand out graph paper
and ask each kid to draw a Pac Man or similar simple figure, with polygons and
label all the vertices with the absolute coordinates. As each kid (ages 7 to 15)
completed the task they brought it to me or one of my assistants for checking. If
they had it right they went off to another room where the computers were. There
they were shown how to type the polygon vertices into the computer into a simple
skeleton drawing program and see their creation realised, usually in hideously
garish colours. The unconscious lesson the kids learned was the planning was
hard, but the computers were easy. The kids only had a few short sessions a day
of computer access. The rest of the time they were doing traditional summer camp
things. But the kids would carry about sheafs of graph paper to plot out their
masterpieces in every spare moment. By limiting access to the computers, the kids
naturally learned how much work you do in planning without a keyboard.
I remember my entire childhood quite vividly. I recall
adults being so patronising. I tried hard not to do that.
I told the kids they could do whatever they wanted, so long as
they had something to show their parents on the last day. In as many ways as
possible, I told the kids they were free do what they wanted, within the limits
of the law and not harming anyone. I was here to help them realise
their projects, not the other way around. I was most definitely
not here to squash their playfulness or curiosity.
Teaching Older Students
teaching people slightly older than I was, I used different, but unconventional
techniques. There the problem is keeping students awake.
On opening day I would say, No student
of mine has ever failed. So you can relax. However, you would probably find you
will spend more time on this course than any other.
I banned note taking. This forced them to pay attention rather
than acting as mindless automatons transcribing notes that would never be read.
I kept perhaps 10 students at the blackboards at a time
working on problems. I then had very good feedback of how well the students were
understanding. The embarrassment factor also made students eager to pay
I had contests, often with two teams, with points for answering
questions, solving problems at the board (done say 5 from a team at a time). The
winning team would get chocolate bars (only a nickel back then), or selections
from the local bakery. The idea here was even if the student did not care about
the class he did not want to let down his team. My class became packed to
overflowing with students from other sections, even though I treated my students
like second graders. The instructors in neighouring somnabulent classes often
complained of the noise.
The class was supposed to be an hour, but often students would hang
around for 6 hours before the last one went home. I would stay until the last
student had enough. This allowed any student all the time they needed to be
absolutely sure they understood the day’s lesson.
I spent lots of time on theme and variation of the
fundamentals, which panicked the students because we were behind. But my students thoroughly got them so they could write
code in their sleep (or under exam pressure). Then it was pretty easy to add the
fancy stuff later on that solid foundation. The catch was finding strange new
ways to drill the fundamentals without it seeming like the same old stuff over