*This is a work in progress. I’m adding detailed descriptions and examples.*

Here are my thoughts on how to write good applets for education:

- Have a good idea
- Emphasize what you want noticed
- Create a simple interface
- Adopt established conventions
- Use gui controls for what they are meant
- Use symmetry in your layouts
- Establish and consistently use standards
- Give users feedback
- Keep text short and to the point
- Give your users power
- Make your interfaces discoverable
- Make it easy to recover from mistakes
- Make them configurable via parameters
- Make them translatable
- Support serialization

## Types of educational applets

- Games / puzzles
- Tools for solving problems
- Design workspaces
- Simulations
- Drill and practice

## Have a good idea

What is a good idea? Choose a topic that is important, challenging for students to understand, difficult to teach using “traditional” methods, one that lends itself well to teaching using computer based methods. Brainstorm a representation and interaction that could lead a student to understanding.

## Emphasize what you want noticed

The better you understand what you want a student to learn and how they can arrive at that understanding, the better you will be able to teach it. Create a representation that helps learners notice the aspects of the topic that are important for them to notice. Give prime real estate in terms of size, positioning, color, etc to those things you want the student to notice.

**Example: Dueling Calculators** from Heart of Math

Initial Version (click to go to the applet)

Current Version (click to go to the applet)

The point of this applet is to help students understand the “sensitive dependence on initial conditions, a classical definition of chaos [...] a dramatic illustration of some of the limitations of computing devices.” More simply put, the number of digits (precision) used in a calculation matters. Its importance becomes especially apparent over repeated calculations.

The applet illustrates these points by representing two calculators inputting a the same initial value into a function, taking the output of the function, and inputting that output value to function again, and repeating. The difference between the two calculators is that one calculator uses 9 digits and the other 8 digits. The values quickly diverge. So what are the points that the applet tries to emphasize:

- Setup / scenario (two calcuators, one 8 digits, the other 9 digits)
- Operation (values input into the functions)
- Results (the output of the functions)
- The point (the values diverge pretty quickly – precision matters)
- The interactivity

undesigned » Presenting at Teachers College Columbia University, on February 20th, 2009 at 6:14 am Said:[...] How to rite good applets [...]