Friday, 13 January 2012

A thought on learning

Over at the Software Testing Club I blogged about getting stuck learning coding and how it was a frustrating experience. Last night I had a good conversation with my other half about how she hits the same issues studying her accountancy course.

She described the same issues, the study seems to be making sense and then boom... a total lack of understanding about what's just been read. Flicking back to review the previous material then reading back over what's unclear doesn't help.

It's the same with me and code. I'm merrily hacking away, currently over at Code Year by Code Academy and through Brian Marick's Everyday Scripting with Ruby, then my head implodes or I run out of brain sugar or something. What I've just read no longer makes sense, in fact it didn't make any sense but clearly is meant to.

So what's the problem? We talked about if for over an hour and came to a couple of conclusions.
Issues such as limited intellect, boredom with the subject, lack of sleep, lack of a good study environment aside, we agreed the core of the problem may be two fold.

Firstly you have a unique collection of experience and current knowledge. That includes experience and knowledge about the subject being studied but also about other things that might be relevant. Studying code for example might be helped by knowing languages, chords or math (so I hear...). Studying accountancy might be helped by knowledge of business, maths, analytical techniques.

Secondly, you have the material in front of you that only has the material in it that it has in it and can only be explained in the way it's being explained.

So, you read the material and you get stuck and now you're really stuck. You now have no further context from your existing experience or knowledge to apply, that might help you make sense of the material so how can you possibly progress?

This I think is common, in that many courses assume a level of knowledge that you don't have. Therefore the material simply cannot make sense to you and you don't have any context (as above) in which to interpret it so it could make sense. You're stuck and you can go over it again as many times as you like but it wont help.

To get unstuck you need to do a few things

Practice - thereby gaining more experience which will provide greater understanding and ingrain what you're studying into your brain more fully.

Find another source - look for the subject you're stuck on somewhere else and see if the way the material is presented gives you additional understanding.

Best still...

Get a mentor - a mentor combines both of the above and you skip a lot of the steps needed to get moving again (maybe a good or bad thing but sure is quicker!)


Anonymous said...

Best way I find is to find an assignment that is related to the subject that you are learning. That way you are applying what you are learning to a different problem. Therefore, in the case of the ruby assignment could be:

I have a master list of cars and motorbikes and in the file provided, it has a list of the make, model and whether it is a bike or car. I want you to do the following.

1) Filter the list so that no duplicates are present
2) Output the file into two files. One called bike.txt and the other car.text
3) I then want you to compare the totals of each text file and compare it to the master file. It should add up to the total number (minus the duplicates).

That way you can see if you understood the lessons in the book and you might have to look to other sources. It also could help you in your work because it is more closely related to what you do rather than some random example in the chapter.

Just a thought.

Mark Crowther said...

Hiya Steveland,

Couldn't agree more some 'worked example' where you play with the learning is a great way to reinforce it.

So what's the Ruby project we're going to do? :)

Anonymous said...

Interesting post, this was really useful. thanks!