Re: Programming languages for the very young

From: Mark A. Washburn (Reply7471859353_at_wmconnect.com)
Date: 01/27/04


Date: 26 Jan 2004 19:24:27 -0800


"Julian V. Noble" <jvn@nowhere.virginia.edu> wrote in message news:<4015A531.8179BB21@nowhere.virginia.edu>...
> m-coughlin wrote:
> >
> > "Mark A. Washburn" wrote:
> > >
> > > Joe Marshall <prunesquallor@comcast.net> wrote in message
> > > <snip>
> > > > Certainly there are many computer whizzes that could use a
> > > > little help with their English, but I think there are as many
> > > > English majors who would benefit from a computer science
> > > > course (*not* a computer literacy course, but a real
> > > > programming course). Writing programs is a great way to
> > > > learn critical thinking.
> > >
> > > As critical thinking is for writing good programs.
> > >
> > > Currently my academic recommendation for
> > > "Introduction to Programming" focuses on a
> > > single language ... Forth ...; And continues thru
> > > advanced programming. With Forth as a starting focus
> > > for learning programming, many directions for opportunities
> > > in /critical thinking/ are opened simultaneously;
> > > from the lowest levels of assembler and assembly language
> > > programming thru the highest levels of problem solving,
> > > in general, and, more specifically, including structured
> > > programming, functional programming, object oriented design
> > > and language compiler design ( ANSI Forth is a nearly ideal
> > > prototyping tool for language design ).
> >
> > [snip]
> >
> > There are many good reasons for using Forth. There is one
> > overwhelming reason for not using it, especially for new or very
> > young computer students. There is little useful training
> > material. There is much information on Forth for computer
> > hackers -- those people who know a lot about computers already,
> > can reverse engineer code and remember cryptic abbreviations.
> > Experts in other languages, such as Scheme, Java, Logo, and even
> > C and C++, go out of their way to write beginners books and
> > these can be found easily. The only such books on Forth have to
> > be ordered online. This was not always the case. Twenty years
> > ago you could go into a bookstore and find the best book on
> > programming was "Starting Forth" by Leo Brodie. Nowadays Forth
> > programmers regret the unavailability of such a book on Forth,
> > but they do not recognize this as the absolute disaster it is.
> >
> > Forth is a powerful language that enables individuals to
> > write and publish their own versions of program development
> > systems. But these are almost always beta versions needing
> > documentation. No Forth programmer has ever made a package that
> > could be used in the lower grades to teach children or even (a
> > much harder job) to teach elementary school teachers something
> > about programming. It could be done, but there is no Forth
> > programmer who seems to be interested. It would require a
> > complete change of emphasis, from writing creative code for
> > machines to writing clear literature for human beings.
> >
> > --
> > Michael Coughlin m-coughlin@comcast.net Cambridge, MA USA
>
> Well, Mike, there is a problem here, of the chicken/egg variety.
> Because major corporations push C, C++, C#, Java, etc. there are
> publishers willing to risk publishing introductory texts for
> those languages (as well as others favored by the academic community,
> such as Python, Perl, et al.).
>
> But Prentice-Hall did not keep "Starting Forth" or "Thinking Forth"
> in print, despite the demonstrated excellence of both books as well
> as pretty good sales.
>
> Kelly & Spies's book, "Forth: a text and reference" was also around
> for a while, but CS departments showed little interest in giving
> courses in Forth. At this U., we had some engineering courses that
> referenced Forth, a course in instrumentation taught by Kelly (for
> a while), and a course in numerical methods where I used Forth in
> front of my classes (admittedly with a FORTRAN-ish front end) so
> I could compose programs, debug them, and run them, before the stu-
> dents' very eyes. I could not insist that they do their HW in Forth,
> however, since it wasn't taught as a language. In fact I had to learn
> some C so I could understand and grade their HW. Only a few of the
> many students who took PHYS 551 (and saw me do amazing things in
> front of the class in real time) took the time to try Forth. The
> attitude of the CS department was, shall we say, not conducive
> to motivating the average student to learn such an off-beat language.
>
> MIT is a wonderful place--it must be to offer a course in Structure
> and Interpretation of Computer Programs, using the book by Abelson &
> Sussman, with Scheme as the illustration language. (I am pleased to
> see that my alma mater, Caltech, offers a similar course.) Most CS
> intro courses in the US employ C or C++, although some use Java and a
> few diehards still feature Pascal. AFIK none use Basic, and even
> fewer use Forth.
>
> So how is a publisher to find a market for intro course materials
> in Forth? Perhaps if some organization pushed it a bit ...
>
> Actually, the tutorials available on the Web, including (blush)
> my own, are perfectly adequate to teach an intro course. And
> they are free. What one lacks is a coherent set of exercises
> and problems. Someone --perhaps someone who wants to see a course
> taught-- should write a set of exercises. I leave the task of doing
> so as an, ahem, exercise. ;-)
>
> --
> Julian V. Noble
> Professor Emeritus of Physics
> jvn@lessspamformother.virginia.edu
> ^^^^^^^^^^^^^^^^^^
> http://galileo.phys.virginia.edu/~jvn/
>
> "God is not willing to do everything and thereby take away
> our free will and that share of glory that rightfully belongs
> to us." -- N. Machiavelli, "The Prince".

I suggest, "Teach Yourself Scheme in Fixnum Days" by Dorai Sitaram,
as an example CORE format. Adding a floating point auxillary processor
addendum for a little FLOAT extra credit. :)

Mark

--- Joke-Of-The-Day ---

You are the Government, however, the Government is me.
Don't believe. That wins.



Relevant Pages

  • Re: Python or PHP?
    ... > every language here and there more ways to do something. ... The best the programmer can do, as you imply, is to ... parse out into proper perl expressions. ... > lists, dictionaries, etc. etc. ...
    (comp.lang.python)
  • Re: Python or PHP?
    ... >> every language here and there more ways to do something. ... The best the programmer can do, as you imply, is to ... I am curious of a list of extraneous methods in Perl (more about the ... I just had a glance on Python, ...
    (comp.lang.python)
  • Re: The War On HLA
    ... Take a look at the HLA compile-time language. ... Macros can be abused just like any other language feature. ... I find it amusing, however, that HLL programmers (e.g., Delphi, ... > feature is left to the programmer to invent his own uses for. ...
    (alt.lang.asm)
  • Re: Is Lisp a Blub?
    ... known in the abstract space of programming language design that "ought" to be ... When the source code changes the programmer ... business needs of the customers who pay the bills. ... What about the Transformation Programmer? ...
    (comp.lang.lisp)
  • [LONG] Re: Why code completion and early error checking are needed
    ... > the programmer who wants such features. ... the guiding principles in the evolution of the c++ language should be ... the problem with this is that ide must first be able to assume ... libraries to find the type declaration. ...
    (comp.lang.cpp)