[Fsf Education] Programming Languages

Khuzaima A. Lakdawala klak@giasbm01.vsnl.net.in
01 Nov 2002 15:58:58 +0530


I concur with Ramakrishnan but for different reasons.

Teaching a particular programming language as a "subject" in school is
not right. It would simply be an extension of our bizarre education
system which forces children to learn subjects for which they don't
necessarily have the aptitude or liking. Given a chance, we should
avoid perpetuating this cruelty.

Suppose we decide on a particular language and go ahead and include it
in the "syllabus". Some children might not like the language and be
scared away from programming. Some others might even get scared away
from computers altogether because of their dislike for a programming
language. Don't expect the children to understand explanations like
"Don't worry if you dont like or understand this language. There are
others you can use but we can't teach them to you right now because
they are no in the syllabus!" And impressions formed by children are
really very difficult to reverse at a later stage.

Would this programming subject be optional? If not then there is
another problem. Think of the students who don't have an aptitude for
programming at all. Why ask them to learn a "language" for doing
something in which they don't have any interest at all?

Rather than "teaching a programming language" the focus should instead
be on introducing children to "computing tasks". And programming
should be treated at par with other computing tasks like writing
letters and email, managing appointment diaries, playing mind games
etc.

Which brings us to

    Generally Not Used - Except by Middle-Aged Computer Scientists :)

which is an excellent tool for introducing children to computing. Put
a student inside GNU Emacs and s/he can learn most common computing
tasks including (but not limited to) letter writing, text and document
processing, interactive math calculations, calendar and diary
management, email and news, file management, games... and, of course,
programming! And what little Emacs can't do it often provides
interfaces for doing using external applications.

If we want some children to learn programming, let the interested
children discover programming inside Emacs without us having to teach
them!. Consider the following extract from the Emacs manual:


    The programmable editor is an outstanding opportunity to learn to
    program!  A beginner can see the effect of his simple program on
    the text he is editing; this feedback is fast and in an easily
    understood form.  Educators have found display programming to be
    very suited for children experimenting with programming, for just
    this reason (see LOGO).

    Programming editor commands has the additional advantage that a
    program need not be very large to be tangibly useful in editing.
    A first project can be very simple.  One can thus slide very
    smoothly from using the editor to edit into learning to program
    with it.


The requirement of "cross platform" or "platform neutral" is easily
met. Emacs ports are available for all major platforms and many minor
(even obscure) platforms.

The self-documenting nature of Emacs means that no additional
documentation is required to teach it. Students can get started from
day one using the built-in tutorial.

No comprehensive teacher training will be required for teaching
Emacs. In fact, Emacs can teach itself to the students AND the
teachers!

In summary, GNU Emacs has everything going for it as an excellent
tool for introducing children to common computing tasks in a
platform-independent manner.

Regards,
-- 
Khuzaima