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.

  1. Pandemonium

    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.
  2. Getting Attention

    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.
  3. Leaking

    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.
  4. Example Code

    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.
  5. Instant Gratification

    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.
  6. Presentation Order

    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.
  7. 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.
  8. 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.
  9. Single Focus

    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.”
  10. Graph paper

    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.
  11. No Patronising

    I remember my entire childhood quite vividly. I recall adults being so patronising. I tried hard not to do that.
  12. Freedom

    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

At UBC, teaching people slightly older than I was, I used different, but unconventional techniques. There the problem is keeping students awake.
  1. Reassurance

    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.
  2. No notes

    I banned note taking. This forced them to pay attention rather than acting as mindless automatons transcribing notes that would never be read.
  3. Board Work

    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 attention.
  4. Contests

    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.
  5. Time

    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.
  6. Drill Fundamentals

    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 and over.
GameMaker: build games without procedural code
Java For Kids

This page is posted
on the web at:


Optional Replicator mirror
of mindprod.com
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number