Kip Murray wrote: > J's "right to left evaluation" is a problem for students who know (and > _should_ know) the Algebraic Operating System of TI calculators. I > wrote an introductory lab How J Works (for university calculus students) > whose closing panel is shown below. Cliff Reiter, could you share your > practical experience?
Kip offers some good. As per his request: I was asked to comment on my practical experience with teaching using J. I respect anyone’s choice of adding a layer so student’s have a minimal amount of J to learn and have done that by providing various scripts to my students. Still, in general my view is that it is pretty much unnecessary and “let language designers design languages” and “let teachers teach”; however it is useful if they talk to each other, as for example, in this thread. I teach 3 college level math classes where I use J as a substantial resource: Linear Algebra (mostly for engineers & econ) Number Theory (math, cs and engineers) Math Visualization (math, cs engineers using my Fractals Visualization and J 3rd ed. text) In none of the courses do I find students have some particular conceptual problem with the flow of the language. Yes, from time to time they mistake parsing rules. Each class includes some very short drill. I use short auxiliary functions and scripts to offer environments where students can explore the mathematical questions of interest. I use both tacit and explicit definitions. Typical format is a several page paper “lab” that leads students through experiments and asks them to interpret the mathematical results. 90% of the questions are routine in the sense that they require experiments that only change data; but occasionally the student must put together a couple of previous ideas to assemble aJ experiment that leads to an answer. In linear algebra, I focus on the math concepts and do not worry if a student does not understand the first line of A=: ".;._2]0 : 0 1 2 3 4 0 0 1 2 0 0 0 0 ) for matrix input, for example. I am more interested in them interpreting the meaning of the solution of a linear system or what the eigenvalues mean in a given context. In Number theory, I wouldn’t use that matrix input scheme, and but I would expect my students to pretty much understand any of the J that I use. I have taught a mincourse at the national meetings on this and most of the adult students (professors) can’t absorb the J fast enough to appreciate the learning environment the student will find. The students, who are young and resilient, but also use the J for an hour every week or two have more time to assimilate and have much less difficulty with the language. There is little frustration and a few students manage to develop J skill to a creative level by course end. In the math visualization course, my book provides the main template for in class experiments. I do discuss J syntax in detail as needed, and the students struggle with that abstraction (but have little trouble with the template experiments) and soon enough they are doing very creative work far beyond the book template. Even toward the end of the course, many students have a sense of frustration that they don’t have complete mastery of J. If I was teaching J, perhaps that makes me a failure. On the other hand, the frustration might merely be typical of what students feel in any course where they learn a tremendous amount of new ideas. Moreover, I am teaching visualization and if students are learning about that and developing creativity, then I am happy to call it a double success. I would encourage development of gentle exercises that simply use J to illustrate the math of interest. -- Clifford A. Reiter Mathematics Department, Lafayette College Easton, PA 18042 USA, 610-330-5277 http://www.lafayette.edu/~reiterc ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
