This week's book giveaways are in the Cloud and AI/ML forums.
We're giving away four copies each of Cloud Native Patterns and Natural Language Processing and have the authors on-line!
See this thread and this one for details.
Win a copy of Cloud Native PatternsE this week in the Cloud forum
or Natural Language Processing in the AI/ML forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Devaka Cooray
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Paul Clapham
  • Knute Snortum
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Ron McLeod
  • Piet Souris
  • Stephan van Hulst
  • Carey Brown
Bartenders:
  • Tim Holloway
  • Frits Walraven
  • Ganesh Patekar

10-12 year olds

 
Sheriff
Posts: 7023
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When I was nine, I attended a summer school course on computer programming. The class had a single computer with twenty to thirty students. The instructor controlled the computer most of the time, demonstrating a few simple concepts in a language that was similar to (or perhaps the same as) whatever folks were programming Atari games in the early and mid 1980s.

Recollecting now, I believe I did learn a few things in that class. I learned a bit about just what computer programming meant. I learned the idea that the lines of code of a computer program execute sequentially. I may have also learned the concepts of looping, and conditional execution (if statements). That's about all that I can remember.

When I was 12, I attended a class in junior highschool on computer programming. I remember playing with some Apple IIe (or maybe some other model) computers, making silly animations all semester long. I don't remember anything about the code that I wrote. I'm not sure if I really learned anything during that class. (On a side note, I was 25 before I programmed again, with the exception of one month of lightly playing with Java when I was 21.)

Now, I'm trying to figure out what to expect when trying to teach ten to twelve year old children a few things about programming. I'm not really sure just how complicated to make things, what tools to use, and what resources are out there on this topic.

So, I appreciate any shared experiences, ideas, or resources.
[ May 25, 2004: Message edited by: Dirk Schreckmann ]
 
Dirk Schreckmann
Sheriff
Posts: 7023
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Squeak looks like a promising tool.
 
Ranch Hand
Posts: 107
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I dont know but what kind children you think to attract with that.
I belive that with http://robocode.alphaworks.ibm.com/home/home.html you actualy may have more succes.
 
author & internet detective
Posts: 39391
761
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I've used Robocode. It was hard and assumed I knew quite a bit about java.

Squeak looks cool. The HTML tutorial shows how it is good for kids. Good find!

Just sharing my memories of taking computer classes as a kid in case it's useful:
In elementary school, we used Logo. This was good for basic commands and angles. At elementary school age, I also did Lego programming at the computer museum. I also remember programming a mouse to go through a maze. It seemed harder at the time, but it was good because it was very visual and kept my attention.

In junior high, I took a summer course at the local college where they used C++ to teach basics (if statement, loops.) This is good for kids who really want to get a feel for programming. They had two classes. The advanced one was for kids with some programming knowledge and were really into it. The easier class used Basic to teach really simple programming.
 
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Originally posted by Alan Ford:
I belive that with http://robocode.alphaworks.ibm.com/home/home.html you actualy may have more succes.



Timeline:
5/27/2004
8:30pm Children in bed. Logs on to computer
9:05pm Logs in to "JavaRanch"
9:13pm Reads "Teacher's Lounge->10-12 year olds" thread
9:18pm Discovers 'Robocode'
9:37pm Has read various Robocode links, downloaded, and installed Game/API

5/28/2004
3:06am Still tweaking various robot designs. Forces self to go to bed.

*Note to Kathy S.*
A couple Head-First Book suggestions:

Head First Robocode Battle Tactics
Head First Robocode Addiction Recovery
Head First Divorce Proceedings (wife's recommendation if I keep it up..)

What a great way to supplement a Java curriculum- hands on and fun. (emphasis on 'fun').

Ish
 
Sheriff
Posts: 6920
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Bear in mind that these 10-12 yesr-olds will almost certainly already "know everything" about how to use a computer. One of the largest problems could be avoiding the disappointments and riots when they discover that programming does not provide the instant-gratification of a drawing program or a search engine or game or whatever else they have used before.

You will need to think very carefully and provide an adaptable balance between "large" exercises that produce something which look like what they have seen computers doing before (but take a lot of thought and planning) and "small" exercises which are more easily achievable (but only provide a dull or useless end result).

One approach to this is to give them plenty of "part baked" applications to work on. Another is to give them a graphically integrated environment such as squeak or logo (or Jurtle, if you prefer Java). Yet another approach is to introduce programming in the context of existing frameworks, such as Microsoft's Visual Basic for Applications inside Microsoft Office, JavaScript in web pages, or ActionScript in Flash.

Good luck.
 
Greenhorn
Posts: 9
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hi

There are some topics which are common to every programming language e.g.

1- Philosophy of language (simple vs. advance / compiler vs. interpreter).
2- Language semantics. (e.g. case sensitive, end of statement etc.)
3- Type of Variables.
4- Loops.
5- conditions.
6- Input/Output.
7- GUI.

etc. etc. You teach them in the following order. Let me take an example of producting a table of 2.

1- Show them a program in action which creates a table of 2.
2- Explain them the concept of loops.
3- then treat them as your programming language and have the things done as you would like your computer to do it.
4- Then ask them to have it done themselves with the computer correcting their syntax wherever necessary.

Hope this helps.
 
author
Posts: 15385
6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I know a couple of 12 year olds that are better programers than a lot of people that post on this one site. I was amazed seeing some of the ages of the people coding there and what they were able to do.

I would recommend teaching kids JavaScript since it does not require a compiler, they can use it on their own computer without having to install stuff from sun. Syntax is very very user friendly for beginners. The whole thing does not crash for a missing semicolon.

I know a bunch of kids in that age range that are learning JavaScript as their first langauge. I really see JavaScript asthe best started language. I started off with TI-Basic on a TI-85 graphing calculater. The move on to JavaScript and all my other languages.

Then again I was told by a person the other day that JavaScript is not a programming language. I thanked them for making me realize I was wasting my time writing a programming book based on it!

Eric
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!