I started my M257 revision last weekend by doing a couple of the past papers available from the OUSA shop, and although I think I would have managed a Pass 2 or 3 in each case, doing the papers highlighted some substantial problem areas. My main weakness seems to be that although I’ve got a good grasp of the details of various classes and methods, I don’t have a solid understanding of the big picture; I have a bit of trouble explaining how all the smaller parts fit together, and why certain aspects of Java are the way they are.

In particular, my answers about Units 8, 9 and 10 were quite shaky, so this week I’ve been focusing on Unit 8, which is the one about threads. I’ve been writing a kind of “beginner’s guide” to the topic, which is aimed at an intelligent non-expert reader, so that I’m forced to explain both the details and the background, hopefully in a way that makes sense! So far this approach is working quite well, and I certainly feel like I understand threads better now that I’ve gone through the process of explaining it methodically to my hypothetical newbie reader.

I’m a big fan of the idea that teaching is a good way to cement your understanding of a topic, and I often use Alex as a kind of sounding board, to evaluate my understanding of the material I’m studying; if I can’t convince him that what I’m explaining makes sense, then I’m probably not explaining it or grasping it properly. And quite often, I’ll have a flash of insight about a topic right in the middle of trying to describe it to Alex – the process of putting my knowledge into words and trying to structure it coherently seems to work wonders. So I would definitely recommend writing some kind of newbie guide, or if possible doing a mini-presentation on whatever you’re revising, if you can find a willing guinea pig audience!