I have encountered similar issues - finding the right kinds of problems to tackle. (I hope that you do not mind that I am not Roger.)
One trick, though, is that any problem for another language can be used as a problem in J. Of course, as you have noticed, sometimes difficulty is tricky. Another trick, though, is that you can solve problems in J just like you can in other languages. The result can be painfully slow, but that's not necessarily a problem. Often you can deal with speed issues by reducing the size of the problem. Also, once you have solved a problem in a slow way, you can work on rephrasing it, so that it is better. If you have a solution which is acceptably fast on some test data, you can set up a simple assert statement to compare a new version's behavior with the old version's behavior. Also, you can inspect the partial results (perhaps logging them, or some such) to get a better idea of what kinds of data you are working with. This can really help. Also, when problem difficulty is too steep, you can see if people here on the forums (or elsewhere) have any suggestions. We might not always have good suggestions (that depends) but sometimes we will (and sometimes difficulties can launch further efforts). And, for that matter, you might find it useful to leave a blog trail about problems you found that seem nice, or any other such thing (for others who find themselves in circumstances similar to yours). Finally, hello, and welcome! Thanks, -- Raul On Fri, Jan 23, 2015 at 3:13 PM, Chel <[email protected]> wrote: > Hi Roger, > > I am new to the forum and found your thread in the archives. I hope it’s not > too late to send you my feedback. > > I’ve been working at getting more comfortable with J for a while. I’m still > very much a beginner, but I have learned quite a bit from “Learning J,” and I > consider it to be the most valuable resource I’ve encountered thus far. > > Aside from one semester of computer science in college, everything I know > about programming has come from sources on the internet. I’ve learned a > little bit about a lot of languages, enough to tweak code here and there, but > I’m not an expert in any language. From what I’ve seen so far, I like J a > lot because it’s very different from other languages and you can do so much > with so little. But I have had a harder time progressing with it than with > other languages because there aren’t as many resources available. > > One thing I haven’t had much luck finding are enough good puzzles or > challenges to help me improve my skills and get me "thinking in J.” Around > the same time I started looking at J, I also started a Python-based CS101 > course they had on Udacity.com . I think I was able to progress much faster > in Python than in J, because the material was presented in a progressive way > but also had good challenges to help ingrate the material covered after each > section and incorporate the material from prior sections. > > I really appreciate "Learning J" because the material is presented very > logically and clearly, but I have stalled a bit in my progression because I > haven’t found enough challenges at my level. I think I need a few more > “homework problems” so I can absorb the material. I have tried to invent a > few challenges for myself, and I’ve looked on Rosetta Code. But with J it’s > a bit difficult because things that are hard in other languages might be > super simple and easy in J, and things that are easy (or at least things I > already know how to do) in other languages might not be so intuitive in J. > So I find there is a big gap between too easy and too hard, and I’ve had a > hard time finding things in the middle to challenge myself. > > Perhaps there are other resources out there that I haven’t encountered yet, > but if not, you might consider adding a few puzzles or challenges to go along > with each chapter. Everything is so thoughtfully presented that with the > addition of a few challenges, in my opinion, Learning J would really become > the perfect go-to resource for a beginner. > > Thank you! > Chel > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
