[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