I've said it many times before, but passive learning through
WWW pages does not work, as the user will get bored. Thus a key
element of design is to add interactivity. A good example of this
is in programming a router. In the following example, the challenge
is different every time that the user tries it: