[Fsf Education] Programming Languages

Raju Mathur raju@linux-delhi.org
Fri, 1 Nov 2002 19:11:53 +0530


>>>>> "KLAK" == Khuzaima A Lakdawala <klak@giasbm01.vsnl.net.in> writes:

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

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

I believe the idea is to teach programming and not any particular
language.  Unfortunately it's difficult to teach programming without
the ability to run your programs on the computer, for which you need a
language.  Out of the languages available, I'd say Logo and Python are
the best suited to teach in schools, for reasons already given
earlier.

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

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

Makes sense.

    KLAK> Which brings us to

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

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

The learning curve of Emacs is too high IMO.  Nor does it have a sleek
interface.  If you want to rope kids into computers, make them excited
first.  The majority of people I've seen excited by Emacs are
hard-core computer professionals.

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

Doesn't this contradict your `not teach a specific programming
language' point earlier?  IAC, why teach a language that hardly anyone
uses?  Let them learn a language that will of at least some potential
use to them in the future.  Further, I believe an OO language maps
onto real-life scenarios much better than a functional language like
Lisp.

Regards,

-- Raju

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

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

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

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

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

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

-- 
Raju Mathur               raju@kandalaya.org      http://kandalaya.org/
                      It is the mind that moves