Teach Kids to Program
| Sponsor |
Amy Bruckman
asb@cc.gatech.edu
255 CoC
|
| Area |
EduTech |
Problem
Much of the hype about children learning on the Internet focuses on
information--information delivery (distance education), information
retrieval (net surfing), and information sharing. While these are useful
applications, some of the most innovative uses of the net with kids
have nothing to do with information, but instead use the net as a
context for collaborative learning. MOOSE Crossing is a text-based
virtual reality environment (or "MUD") designed to give kids 8 to 13
a meaningful context for reading, writing, and computer programming.
Kids on MOOSE Crossing learn by building the virtual world, creating
new places, and objects that have behaviors. They are learning
creative writing and object-oriented programming in their spare time
for fun.
The philosophy of education behind this project, "constructionism,"
advocates learning by working on personally meaningful projects.
While the emphasis is on learning by doing and learning from peers,
kids need scaffolding to support their learning experiences. In this
project, you will write a tutorial to teach kids a new programming
concept.
Here's what you need to do:
- Register for a character on MOOSE Crossing by following the instructions
here. Connect
to MOOSE Crossing from a Macintosh using
MacMOOSE. (The
Java version is not yet finished.)
- Once connected, type "help tutorial" to see the existing tutorials.
Do the three-part dog tutorial. (Hint: use the help option from the MOOSE menu
to view your tutorial in a separate window.)
- Read the "remote" tutorial. This was done by a 7100 student, Jim Davies,
last year. It's an excellent example of what I'm looking for. From the
tutorial list, glance at a few that are marked "advanced" in difficulty.
These are nice work, but are NOT what I'm looking for.
- Have a look around MOOSE Crossing. Examine some of the children's
objects. Read help messages to clarify things.
- Do the background reading. (See below.)
- Make an object or two of your own.
- Write your own tutorial, teaching kids how to make your object.
It should introduce a new concept not covered in
one of the other tutorials. I suggest you email me your idea or make an
appointment to meet with me before you start. Pay close attention to
the style of your writing. MOOSE tutorials are written in first person,
in a chatty, friendly style. Minimize the use of big words.
Some suggestions for tutorial topics are:
- Use of string constants in script argument specifications (for example: on tickle this "with"/"using" "feather"). See "help argument" for background info for this and the next two project suggestions.
- The difference between more and less specific object-matching argument types ("person", "this", and "here" versus "object").
- The difference between local argument matching ("person", "here") and global ("any_person", "room").
- Extremely simple "if" statements. Some of the complicated tutorials handle conditionals, but there's nothing at the easy level.
- "For" loops.
- "While" loops, and what to do if one accidentally keeps going and going.
(This is a more challenging project.)
- Using the time in programs (See "help time").
- Inputting things from the user ("input" versus "input_lines").
- Asking questions ("yes_or_no", "question").
- Mail Elizabeth Edwards (lizzie@cc.gatech.edu) asking to give you
a place in the help system to put your tutorial online. (This is done
by creating a property on the help database owned by you, where the name
of the property is your tutorial name.)
- Ask a kid to do your tutorial and give you comments on it. If you
really can't find a kid, ask someone else in 7100 to do it.
- Revise your tutorial based on comments from your tester. Update the
online version.
- Mail me the name of your tutorial, and that you're ready for me to
review it. I will send you comments.
- Revise your tutorial based on my comments, and update the online version.
Background
Deliverables
- Text of your tutorial.
- A 2500-word report (about 5 pages). Longer is OK, but not necessary.
Address the
following items:
- How you chose the topic of your tutorial, and what you hope kids
will learn from it.
- How you revised your tutorial based on feedback from kids. Did anything
surprise you about their feedback?
- Is there anything you would change about the MOOSE language to make
it easier for kids, or a better learning tool?
Evaluation
Evaluation is based on the quality of your report and tutorial.