Harvey, you've given me an idea for another "statutory'' link on each
page: "[Motivation]".

When I learned mathematics it was the Fermat/Gauss tradition: cover
your tracks and let the student work hard to follow you. Wow-'em. Make
yourself look smart. Play to the good students and devil take the
rest.
(Imperial College really did fire 30% of students the first year, and
30% the second. But hey! -- it was the baby boom).

But when I came to teach students myself, they wanted to know: "why do
I have to learn all this?" ... and I was supposed to tell them.

But I sympathise with the latter view. Students need motivation. The
motivation of finding out things nobody else can attain to doesn't
recruit enough students to fill the course.
But Mathematics is not difficult. There's just this tradition of
making it look so.
Ditto (...peace, folx...) J.

Ian


On Mon, Feb 8, 2010 at 6:41 PM, PackRat <pack...@anet.com> wrote:
> Ian Clark wrote:
>> Can we hear from some real novices? That is, ones who are capable of
>> introspecting while they problem-solve?
>
> and Raul Miller wrote:
>> should some pages have introductory/advanced structures where we
>> first introduce the reader to some essential cases and then come back
>> and treat the operation with more rigor?
>
> I'm going to go out on a limb and suggest that many, if not most,
> proficient people here have come to J from APL.  Frankly, that gives
> you a HUGE conceptual advantage over newbies like me who lack an APL
> background.
>
> In my opinion, as a newbie, there are two concepts that have to be
> introduced at the very beginning and repeated over and over at every
> opportunity for those who are brand new to J: (1) the concept of
> working with data as an "all-at-once" array rather than as discrete
> items, and (2) the concept of rank.  Of course, these concepts cross
> all levels of understanding, and that's part of the advantage and need
> of repeating them in different usage environments and in different
> examples.  I'm getting better with the first concept in my elementary J
> programming efforts, but the second is still challenging.  (The first
> is quite challenging to those who have done programming before and are
> used to thinking in terms of dealing with array data via loops.)
>
> Another thing that I think should be addressed with each primitive is
> WHY you would ever want to use that primitive--what's it good for?
> What's it good in combination with, and why?  As a newbie, this
> question of WHY was always one of the foremost questions in my mind.  I
> would look at Dictionary examples and think, "Well, THAT'S stupid! Why
> would anyone ever want to do that? What practical use is that?"  (My
> feeling was also partly engendered because many Dictionary examples
> don't indicate what the point of the example is.  It might be obvious
> to a J aficionado but not necessarily to a beginner.  Although a
> meditative trance over an example may be how some learn, it's not my
> learning style.  Show me "real life", practical examples.)  When I know
> WHY a primitive is used (for what purpose or purposes), then I can use
> it as a building block to put together with other building blocks to
> come up with a solution to a problem.
>
> Also, in learning in general, some beginning material just has to be
> learned by rote until greater understanding is achieved.  An example is
> the addition table: just accept (and use) the fact that 2 + 2 = 4;
> you'll see why later on.  Or, "t-h-e" is the word "the": just accept
> (and use) that fact of the English language.  "Sight words" don't
> follow phonetic rules and just have to be learned by rote.  Thus, as I
> see it, there are some basic J verbal constructions to get things done
> (such as reading/writing an array from/to a file) that are just going
> to have to be accepted on faith by newbies and learned by rote, so that
> they can use newly learned primitives with data that's meaningful to
> them.  My point with file access is that "real" data that newbies may
> have worked with all their lives exists in files, not in artificial,
> hand-typed data as arguments in an example or a demo.  Some of the
> examples in the new project should include "real life" ways of working
> with data at simple levels of understanding (without *initially*
> worrying about the format--rows, columns, etc.--of the data, although
> format obviously plays a later role in accessing items of data).
>
> I frankly admit that my concerns here are not so much with the curious
> Rosetta Code person but with people who see the value of J and want to
> devote serious effort to learning it.  This is the kind of thing I
> tried to emphasize in my own materials for professional colleagues
> before I retired, and I applaud any efforts here to assist with
> learning J.  In a sense, if you really want to experience the challenge
> of developing materials for beginners, think of it in terms of helping
> middle grade and upper grade children (grades 4-8) to learn J and who
> may not be particularly interested in math (in other words, perhaps
> more interested in the humanities than in the sciences).  After all,
> thinking and problem solving are what J is all about, and that need not
> be restricted to the field of mathematics.
>
> FWIW.
>
> Harvey
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to