"I repeat that I am not trying to get new users into J - I am trying to teach Mathematics ..."
I thought that J is meant to be an Executable Mathematical Notation. I am not claiming it is, it is just something I read somewhere. I am curious, apart from graphical symbols, what parts of pre-degree level Maths is missing in the J notation without modifications? "How long does it take to get used to it and learn the beauty of J?" I do not have any data other than my personal experience. For people who have already been programming in C++ etc... making the shift to J is probably much more difficult than for blank slates - which I assume you are planning to work with? "Are average elementary students, secondary students and (say) Post-secondary Geography students capable of reaching this level of J understanding in the limited time that can be delegated to this task within their regular curriculum?" I don't know, are they? Have you tried teaching mathematics to a sample of the target audience using J "as-is" and did they run into problems that are specifically related to the ascii characters? I mean has anybody actually complained that the ascii characters or the omission of some other language facility have been a barrier to their learning of Mathematics through J? If they can get to grips with a graphical symbol that is a point-upwards-triangle with a vertical line through it to mean "grade upwards" in time then surely they can just as easily get to grips with /: meaning the same thing. The main thing is that they understand the point of having a "grade up" symbol whatever that symbol is and more importantly what it means and how to use it. Anyway, I don't want to be a negative drain on your energy, I am not an expert in J or Teaching, and don't think I can add anything constructive to this project so I will try to shut up now :-)). I really do wish you success in what you are trying to achieve and I look forward to downloading and trying out what you come up with. Best of luck, Matthew. PS I said I will try to shut up ... but I already know I will not succeed. Technically that constitutes a lie? On Sun, Mar 15, 2009 at 6:06 PM, Don Watson <[email protected]> wrote: > BlankThank you all for very helpful responses to my last email. > > I will respond first to this comment from Matthew: "I think the idea of > introducing graphical characters into J is a bad one and that energy towards > getting new users into J would be better spent elsewhere like writing Labs." > I repeat that I am not trying to get new users into J - I am trying to teach > Mathematics and need an experiential tool that has the ease of > communication, the independence from operating systems, the free cost to > education and the well supported, thoroughly professional and reliable > nature of the J system. It's got almost everything I want, including tacit > programming - all I am looking for is how can it become exactly what I need > rather than exactly what the J community needs in a manner that is > transparent to the J community. > > Matthew also says: "I personally like the ascii method, despite it > deceptively appearing as an ugly mess when first encountered, because once > you get used to it it is beautiful. The important questions to me are: "How > long does it take to get used to it and learn the beauty of J?" and: "Are > average elementary students, secondary students and (say) Post-secondary > Geography students capable of reaching this level of J understanding in the > limited time that can be delegated to this task within their regular > curriculum?" > > To a comment from Raul: "The first example in your table became " " when > I try copying and pasting it into this message. This means you have not even > begun to tackle the hard problem of figuring out how this kind of thing > could even be possible." I copy something I said in a previous email: "In my > proposal, keying is done in identical ASCII, storage is done in identical > ASCII, transmission between systems is done in identical ASCII, mailing is > done in identical ASCII and every user of J continues using ASCII in exactly > the same way without knowing that anything has happened. The change is > transparent and causes none of the difficulties that are being discussed." > Thus the first example in the table would be stored and translated in > exactly the same way as it always has. The only change is in output to the > screen and the printer, when the two ASCII characters would be translated to > a special character. > > Fraser says: "If your H1[F(x),G(x)] is mean to represent an expression > in J I do not know whether you mean H1(F(x),G(x)) where H1 is a monadic > fucntion with argument (F,G)x or using H1 dyadically (F H1 G) x" > Actually I did not mean H1[F(x),G(x)] and [ H2 (F, G) ] (x) to be J > expressions, but, sort of, Mathematical expressions. All I am saying is that > mathematically the % in (+/%#) is not the same kind of function as the % in > 3 % 7. The H2(F,G) has, in J language, verbs as its arguments, rather than > nouns. > > In response to Bjorn, I am not currently a member of the J-Programming > forum. I will join and look up what you suggest. > > I response to Bill, I promise to read Programming in J. > > In response to Don, I know that I can achieve what I want by a "program" > with successive lines of code - but I want to be able to show one line that > parallels the mathematical formula. How I do this at present is by copy and > paste - which is something we couldn't do on the old IBM 2741 paper printing > terminals!! I am going to give an example of a session to illustrate the > binomial theorem for (1 + x) ^ n. It is normal to prove theoretically that > it works for natural number values of n in pre-calculus, but calculation > using J can show that it works for any rational n if the series converges. > What follows is a demonstration, using copy and paste, to develop the J > sentence to do it. What I would like to know is, can someone work through a > similar gradual process that is easy for a student to follow and ends up > with tacit programming instead of a J sentence? If someone can do that, you > might change my opinion. > > x=. 0.5 NB. For (1 + x )^n > n=. 5 > r=. 6 NB. Take terms up to x^6 > i.r > 0 1 2 3 4 5 > n- k =. i.r > 5 4 3 2 1 0 > k<:/k =. i.r > 1 1 1 1 1 1 > 0 1 1 1 1 1 > 0 0 1 1 1 1 > 0 0 0 1 1 1 > 0 0 0 0 1 1 > 0 0 0 0 0 1 > (k<:/k)*n-k=:i.r > 5 5 5 5 5 5 > 0 4 4 4 4 4 > 0 0 3 3 3 3 > 0 0 0 2 2 2 > 0 0 0 0 1 1 > 0 0 0 0 0 0 > k>:/k+1 > 0 0 0 0 0 0 > 1 0 0 0 0 0 > 1 1 0 0 0 0 > 1 1 1 0 0 0 > 1 1 1 1 0 0 > 1 1 1 1 1 0 > (k>:/k+1)+(k<:/k)*n-k=:i.r > 5 5 5 5 5 5 > 1 4 4 4 4 4 > 1 1 3 3 3 3 > 1 1 1 2 2 2 > 1 1 1 1 1 1 > 1 1 1 1 1 0 > */(k>:/k+1)+(k<:/k)*n-k=:i.r > 5 20 60 120 120 0 > 1,*/(k>:/k+1)+(k<:/k)*n-k=:i.r > 1 5 20 60 120 120 0 > i. r + 1 > 0 1 2 3 4 5 6 > !i.r + 1 > 1 1 2 6 24 120 720 > (1,*/(k>:/k+1)+(k<:/k)*n-k=:i.r)%!i.r + 1 > 1 5 10 10 5 1 0 NB. Same result as Pascal's triangle > x^i.r+1 > 1 0.5 0.25 0.125 0.0625 0.03125 0.015625 > (x^i.r+1)*(1,*/(k>:/k+1)+(k<:/k)*n-k=.i.r)%!i. r + 1 > 1 2.5 2.5 1.25 0.3125 0.03125 0 > +/(x^i.r+1)*(1,*/(k>:/k+1)+(k<:/k)*n-k=.i.r)%!i. r + 1 > 7.59375 > 1.5^5 NB. Test if it gets the right result > 7.59375 > r=. 20 > n=. 3.3 > x=. .5 > +/(x^i.r+1)*(1,*/(k>:/k+1)+(k<:/k)*n-k=.i.r)%!i. r + 1 > 3.81155 > 1.5^3.3 > 3.81155 > > x=.0.9 > n=.7.21 > +/(x^i.r+1)*(1,*/(k>:/k+1)+(k<:/k)*n-k=.i.r)%!i. r + 1 > 102.285 > 1.9^7.21 > 102.285 > > > > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > -- http://www.ixquick.com/ Ixquick Protects Your Privacy! The only search engine that does not record your IP address. http://www.vivapalestina.org/ ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
