tags:

views:

121

answers:

5

I love coding and designing applications but there is something annoying me so much. Some times I can't focus and understand what I am reading when learning new code or a new subject or whatever and that really annoys me because It causes me to read again and again and again which really puts me off and frustrate me.

Does something like this happen to you or is there some problem with me ?

+1  A: 

You may find that you learn better by doing, so, as you are reading, start working on a simple project, and as you read more, add to your program with the new features, until you have finished the book.

As you try to do something you may find that you need to look ahead at times, and that should be fine, as long as you have a strong understanding of the concepts. So, if you are learning Rails, and you already know OOP, then jumping around isn't such a big deal, as you are learning the syntax and style of a new language, but the methodology you understand.

People learn in different ways, books are written for one or two ways, it won't always work for everyone.

James Black
Thanks. You are right. For better understanding, practice is an essential.
Braveyard
+2  A: 

No problem with you.

I find it hard to read without doing. If reading some programming article, I'll need to be implementing everything myself and testing it all for myself. If you can't focus, do something else, come back, and you will be refreshed and all will be well :)

Noon Silk
+4  A: 

Yes it happens to me also, I find my mind jumping ahead to quickly.

I now use the SQ3R technique and it helps immensely. This adds the 'Doing' and 'Teaching' techniques that are extremely important for learning technical information.

Preet Sangha
Whoa, I liked this SQ3R technique, I'll try this technique to see what results I can get.
Abel Morelos
I'll definitely try this technique. Actually I've doing some steps unconsciously tho. Thanks.
Braveyard
+2  A: 

Different people learn in different ways. You'll be doing yourself a tremendous favor by discovering what works best for you and looking for opportunities to use that mechanism.

Some examples:

  • Learning by doing, as so many others have recognized, turns your role from passive to active. This can be helpful if your mind wanders while reading, because it allows you to create your own lessons as you go, rather than following the author's logic. You can experiment at your own pace as ideas and questions come to you, and you'll learn what not  to do, which is often more enlightening than doing everything right the first time.

  • Alternate teaching tools, such as audio books or videos, may work better for you than reading. Some people learn better by hearing something than by seeing it.

  • Working with others is often a good way to get past a mental block. Whether you choose an expert or another student, it's often both helpful and energizing to work with a real human. You'll have different questions and insights that can boost each other along, and you'll have someone to celebrate your successes with.

Remember also to be patient with yourself, keep your perspective and sense of humor, and take breaks if you find your frustration is distracting you from the task at hand.

Good luck!

Adam Liss
+2  A: 

It's not unusual. Some points:

1) It's difficult to write efficiently (ie without a lot of repetition) about techical subjects which have lots of interdependent aspects (like a programming language, for instance) without a certain amount of forward references. So, you're just about bound to encouter stuff you won't understand until later when things start fitting together. I just expect this, and don't sweat having to skim over unclear sections on first pass(es). I have come to picure this as building a web. Each pass adds more strands for stuff to stick to in later passes.

2) Some books are just not that good. You may be trying to follow logic that is incorrect because of typos or other mistakes, which are inexcusably far too common in programming books. (Sometimes looking for errata lists on book websites can help here.)

3) Even between books of equal quality, some may be more suited to you than others. Some may assume knowledge you haven't yet been exposed to. Some people are more receptive than others to mathematical-type explanations of things. And the main thing I think of here is: Some writers of programming language books like to give longer real world example programs than others, and this works for some readers better than others. For me personally, I often find that I really don't care about the problem domains of these longer example programs enough to want to figure out what problem is being solved or wade though whatever clever logic that the author may be proud of in order to get to the crux of what I want to learn. So, in those cases, my eyes start rolling back in my head. I'd generally rather have shorter "toy" examples when learning a language (cookbooks and books specifically on certain problem domains are different), but other people prefer the meatier examples of real world usage.

So, if a book isn't doing it for you, don't get frustrated or spin your wheels too long. Skim what isn't clear, read what is clear, then evaluate whether another pass is worthwhile or if you just need to find a better source of information.

Anon