This may sound trite, but

Who is the audience? Everyone who does math, be it for engineering,
finance, or middle-school algebra. Interactive J should be
approachable for a 10 year-old and would be a huge improvement over
the calculators and spreadsheets in current use.

What do they already know about J? Nothing or less.  While I am
occasionally surprised by the extent that J is used among very senior
financial types, it is a fact that J remains deep in obscurity within
the IT industry. I can't imagine that the picture is any clearer among
educators.

What the want to know is how to do basic math with the console. What
they need is enough of a foundation to begin exploring complex
relationships.

I agree, Khan Academy provides an excellent model. If we (as a
community) were ever fortunate enough to have Khan produce some
introductory materials, usage would explode.

Having said that, shouldn't this thread be migrated to Chat?

 - michael dykman

On Fri, Feb 3, 2012 at 11:02 AM, Dan Bron <j...@bron.us> wrote:
> Hmm.  I could do a basic intro to J course at one of the NYC JUGs.  If we
> broadcast & record it, we could then post it on youtube.
>
> The question is: who is the audience?  What do they already know about J?
> What do they want to know?
>
> -Dan
>
> -----Original Message-----
> From: programming-boun...@jsoftware.com
> [mailto:programming-boun...@jsoftware.com] On Behalf Of William Tanksley, Jr
> Sent: Friday, February 03, 2012 10:43 AM
> To: Programming forum
> Subject: Re: [Jprogramming] Demise of @ and [: debate
>
> I'd love to see a youtube class on J. I'd download every episode as it
> aired to my phone and watch it on the train, using my computer to do
> experiments and take notes. That's what I do with "njwilberger"
> rational trig and hyperbolic geometry lessons.
>
> -Wm
>
> On Fri, Feb 3, 2012 at 6:57 AM, Skip Cave <s...@caveconsulting.com> wrote:
>> A methodical approach to teaching J might be to group the primitives into
>> groups of similar functionality. Order these groups by complexity (simple
>> to complex), as well as perhaps ranking them by familiarity with
>> already-learned concepts from traditional math classes, most familiar
>> first.
>>
>> With a learning sequence defined, spend a class on each group of
>> primitives, starting with the simplest and most familiar functions (+-*%,
>> or perhaps = =. =:), and progress to the most complex and unfamiliar
>> functions.You should probably start with direct execution, and introduce
>> verb creation after a few classes on basic primitives. Some class time
>> should be spent on how to read and understand the vocabulary definitions.
>>
>> Homework for each class would focus on usage of that current classes'
>> primitives, with previously-covered primitives thrown in for good measure.
>> The homework problems should be constructed to not require primitives that
>> haven't been covered yet (though nothing would prevent an advanced student
>> from looking ahead and trying them).
>>
>> It would be interesting to create an online J class, much like the Khan
>> Academy on youtube. In fact, if you really wanted to introduce J to the
>> masses, create a math tutorial that follows and supports Khan's math
>> tutorials, using J as the tool. This would be similar to Iverson's
>> "Concrete Math Companion" which follows 'Concrete Mathematics' (Graham,
>> Knuth, and Patashnik (GKP)).
>>
>> Just a thought..
>>
>> Skip
>>
>>
>> On Fri, Feb 3, 2012 at 2:27 AM, Linda Alvord
> <lindaalv...@verizon.net>wrote:
>>
>>> I agree, Don. I really was using a post from Roger because I find his the
>>> most difficult to untangle. This thread was a good one to explain my new
>>> thoughts about  @  and  [:
>>>
>>> My challenges are topics I might use to teach high school seniors
> studying
>>> precalculus, probability and statistics. They are similar to old APL
>>> contests I invented while I was teaching APL - to get better with the
>>> language myself. However, I'm not sure what would work in classes these
>>> days.
>>>
>>> At least I'm having fun with the readers of the forum. J is even becoming
>>> fun to use!
>>>
>>> Linda
>>>
>>> -----Original Message-----
>>> From: programming-boun...@jsoftware.com
>>> [mailto:programming-boun...@jsoftware.com] On Behalf Of Don Guinn
>>> Sent: Friday, February 03, 2012 12:04 AM
>>> To: Programming forum
>>> Subject: Re: [Jprogramming] Understanding C. , A.
>>>
>>> Might want to get beginners a little comfortable with J before showing
> them
>>> C. and A.
>>>
>>> On Thu, Feb 2, 2012 at 7:56 PM, Linda Alvord <lindaalv...@verizon.net
>>> >wrote:
>>>
>>> > I am rethinking my concern with  @  and  [:  and am leaning toward
> using
>>> > explicit definitions as a way of teaching  J  to beginners as a natural
>>> > mathematical language.
>>> >
>>> > Some of the programmers responding to the forum think in idioms and use
>>>  @
>>> > happily.
>>> >
>>> >   f
>>> >  <:@-@[ C.&.|. ]
>>> >   i
>>> > -@#@[ |. C.
>>> >   k
>>> > <@i.@-@>:@[ C. ]
>>> >
>>> > 0thers favor the tacit approach with lots of  [:
>>> >
>>> >   g
>>> > ] C.&.|.~ [: <: [: - [
>>> >   h
>>> > [: |. ([: <: [: - [) C. [: |. ]
>>> >   j
>>> > C. |.~ [: - [: # [
>>> >
>>> >
>>> > Both styles are appropriate and I should not suggest one way or the
>>> other.
>>> > Many of you have suggested this.
>>> >
>>> >
>>> > We are looking for a simple way to introduce  J  to beginners. In my
>>> > opinion
>>> > we would introduce J  as a mathematical language for solving problem.
>>> >
>>> >
>>> > I am suggest starting with expressions that produce desired results.
>>> > Developing from right to left may come naturally.
>>> >
>>> >    (<:-3 6)C.&.|.'abc*ef*g'
>>> > **abcefg
>>> >
>>> > The next step is making explicit functions indicating if the intended
> use
>>> > is
>>> > monadic or dyadic. There is no use of  @  or  [: allowed at this point.
>>> >
>>> >    g=: 13 :'(<:-x)C.&.|.y'
>>> >    h=: 13 :'|.(<:-x)C.|.y'
>>> >   j=: 13 :'(-#x)|.x C.y'
>>> >
>>> > Now exploring the tacit definitions would be appropriate in some
>>> > environments and can be explored an studied in terms of forks and
> hooks.
>>> > At this special code and common idioms can be explored and timing of
>>> > expressions can be compared. In the end all roads lead to Rome.
>>> >
>>> >   3 6 f 'abc*ef*g'
>>> > **abcefg
>>> >   3 6 g 'abc*ef*g'
>>> > **abcefg
>>> >   3 6 h 'abc*ef*g't
>>> > **abcefg
>>> >   3 6 i 'abc*ef*g'
>>> > **abcefg
>>> >   3 6 j 'abc*ef*g'
>>> > **abcefg
>>> >
>>> >
>>> > -----Original Message-----
>>> > From: programming-boun...@jsoftware.com
>>> > [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
>>> > Sent: Wednesday, February 01, 2012 6:01 PM
>>> > To: 'Programming forum'
>>> > Subject: Re: [Jprogramming] Understanding C. , A.
>>> >
>>> > Sorry I missed the version by Arie.  Nice!
>>> >
>>> >   3 6 (i=:-@#@[ |. C.) 'abc*ef*g'
>>> > **abcefg
>>> >   i
>>> > -@#@[ |. C.
>>> >
>>> >   j=: 13 :'(-#x)|.x C.y'
>>> >   j
>>> > C. |.~ [: - [: # [
>>> >
>>> >   3 6 j 'abc*ef*g'
>>> > **abcefg
>>> >
>>> > Please let me know if you have concerns or modifications as I plan to
> use
>>> > different rules beginning with challenge 6.
>>> >
>>> > Henceforth I'll have no opinion concerning the merits of  @  and  [:  I
>>> > hope
>>> > to learn to favor them both gracefully.
>>> >
>>> > Linda
>>> >
>>> > -----Original Message-----
>>> > From: programming-boun...@jsoftware.com
>>> > [mailto:programming-boun...@jsoftware.com] On Behalf Of Linda Alvord
>>> > Sent: Wednesday, February 01, 2012 5:20 PM
>>> > To: 'Programming forum'
>>> > Subject: Re: [Jprogramming] Understanding C. , A.
>>> >
>>> > I'm happiest with the explicit version. It shows the arguments needed
> for
>>> > the application.
>>> >
>>> >   3 6 (f=:<:@-@[ C.&.|. ]) 'abc*ef*g'
>>> > **abcefg
>>> >   3 6 f a=:'abc*ef*g'
>>> > **abcefg
>>> >
>>> >   g=: 13 :'(<:-x)C.&.|.y'!
>>> >   3 6 g a
>>> > **abcefg
>>> >
>>> >   f
>>> > <:@-@[ C.&.|. ]
>>> >   g
>>> > ] C.&.|.~ [: <: [: - [
>>> > g=: 13 :'(<:-x)C.&.|.y'
>>> >
>>> > J provides the  ~  which shows up in the tacit version above.
>>> >
>>> > Then there is  h  with no  ~  and no  &.
>>> >
>>> >   h=: 13 :'|.(<:-x)C.|.y'
>>> >   h
>>> > [: |. ([: <: [: - [) C. [: |. ]
>>> >   3 6 h a
>>> > **abcefg
>>> >
>>> > Linda
>>> >
>>> >
>>> > -----Original Message-----
>>> > From: programming-boun...@jsoftware.com
>>> > [mailto:programming-boun...@jsoftware.com] On Behalf Of Roger Hui
>>> > Sent: Wednesday, February 01, 2012 11:26 AM
>>> > To: Programming forum
>>> > Subject: Re: [Jprogramming] Understanding C. , A.
>>> >
>>> > Personally, I dislike expressions with multiple uses of ~ as they make
> my
>>> > head spin.
>>> >
>>> >    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
>>> > **abcefg
>>> >   3 6 (<:@-@[ C.&.|. ]) 'abc*ef*g'
>>> > **abcefg
>>> >
>>> > I much prefer the second over the first.
>>> >
>>> >
>>> >
>>> > On Wed, Feb 1, 2012 at 8:05 AM, Aai <agroeneveld...@gmail.com> wrote:
>>> >
>>> > > Ah, I see that's a bit like yours David.
>>> > >
>>> > > Modifying it for 1< #x
>>> > >
>>> > >    3 6 (C. |.~ -@#@[) 'abc*ef*g'
>>> > > **abcefg
>>> > >
>>> > >
>>> > > (from Essays)
>>> > >
>>> > >    3 6 (C.&.|.~ <:@-)~ 'abc*ef*g'
>>> > > **abcefg
>>> > >k
>>> > >
>>> > >
>>> > >
>>> > > On 01-02-12 16:47, Aai wrote:
>>> > > > Sorry for the noise. You should forget the previous ones I sent:
> they
>>> > > > are wrong.
>>> > > >
>>> > > > It looks like this one is ok:
>>> > > >
>>> > > > mtf=:_1&|.@C.
>>> > > >
>>> > > >    ]samples=: '*abcef' |."0 1 ~-i.6
>>> > > > *abcef
>>> > > > f*abce
>>> > > > ef*abc
>>> > > > cef*ab
>>> > > > bcef*a
>>> > > > abcef*
>>> > > >
>>> > > >
>>> > > >    ]res=: '*' ([,-.~) "1 samples
>>> > > > *abcef
>>> > > > *fabce
>>> > > > *efabc
>>> > > > *cefab
>>> > > > *bcefa
>>> > > > *abcef
>>> > > >
>>> > > >    res -: mtf&>/"1 (;~I.@:('*'&=))"1 samples
>>> > > > 1
>>> > > >
>>> > > >
>>> > > >
>>> > > >
>>> > >
>>> > > --
>>> > > Met vriendelijke groet,
>>> > > @@i = Arie Groeneveld
>>> > >
>>> > >
> ----------------------------------------------------------------------
>>> > > For information about J forums see
> http://www.jsoftware.com/forums.htm
>>> > >
>>> > ----------------------------------------------------------------------
>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>> >
>>> > ----------------------------------------------------------------------
>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>> >
>>> > ----------------------------------------------------------------------
>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>> >
>>> > ----------------------------------------------------------------------
>>> > For information about J forums see http://www.jsoftware.com/forums.htm
>>> >
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>>
>>
>>
>> --
>> Skip Cave
>> Cave Consulting LLC
>> Phone: 214-460-4861
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm



-- 
 - michael dykman
 - mdyk...@gmail.com

 May the Source be with you.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to