One of the hottest computing topics today is in the field of Artificial Intelligence, particularly focused around Machine Learning. Tens of thousands of people are taking free courses on the subject online. Some of the most popular courses are Coursera's online Machine Learning <https://www.coursera.org/course/ml> course, taught by Andrew Ng, Stanford, or Neural Networks for Machine Learning <https://www.coursera.org/course/neuralnets>, taught by Geoffrey Hinton, U of Toronto.
The most amazing thing is that these courses are free, though you may have to pay a nominal fee if you want a verified certificate of course completion. I took Andrew Ng's online ML course, and found that it was an excellent introduction to basic ML algorithms,. The programming language that was used in the course and required for all the homework was Octave, the open source version of the Mat lab language. Quote from student: *"I've just started learning Octave today because I'm currently studying Machine Learning <https://www.coursera.org/course/ml> and the teacher recommended learning Octave (because it's free, because MATLAB is expensive, and because the student will be much more productive getting the machine algorithm to work by first using either Octave or MATLAB first, then once its working, then switch to either Java or C++)"* This is exactly what Andrew Ng says about Octave in his video lectures. I found the Octave language handles arrays similar to J, though with not nearly as regular a syntax as J. Knowing APL and some J made the homework much easier for me to code, though some of the Octave constructs were quite different from J. I believe that te Octave/Matlab language was used in the course mainly because many of the early researchers developed the original algorithms in that language, and the Matlab algorithm source was was much more concise and easier to work with than other more scalar languages. There are many websites <http://css.dzone.com/articles/gradient-descent-octave> that show various ML algorithms using Octave, and there are open-source Matlab ML code projects for most of the key ML algorithms. Recently, R & Python have developed fairly extensive Machine Learning libraries in those languages. If you want to promote J, you need to show how J solves problems in a hot field like AI, better, faster, or more concisely than other languages. That is essentially how Octave/Matlab got thousands of students learning the language. I was tempted to try to code some of my ML homework assignments in J, but the time pressure of the weekly assignments as well as other obligations, prevented that exercise. Skip Skip Cave Cave Consulting LLC On Tue, Aug 26, 2014 at 11:28 AM, Raul Miller <[email protected]> wrote: > J has a number of elements in it which are slanted towards educational > contexts. > > For example, >> and <: despite already supporting 1&+ and -&1. > > For example, p. despite already supporting #. (and more complicated > expressions). > > For example, +/ .* despite APL offering the more concise +.x > > And so on... > > And we have a few really great labs and books. But what we do not have are > extended treatments of topics. There's a lot going on in biology, for > example, and we're not even trying there. We could be doing much better in > physics simulations, graphics rendering, and so on. > > Anyways, we should also keep in mind that on the other side of the fence we > have a lot of teachers struggling with the other side of these same issues. > See, for example: > > http://cacm.acm.org/magazines/2014/8/177020-why-the-us-is-not-ready-for-mandatory-cs-education/fulltext > > I often feel that it's like we are not even trying to come up with anything > to offer them. > > But it's so easy to get caught up in other issues, I guess I understand > that. > > But I am not sure that that makes it right. > > Thanks, > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
