Well, I'm not going to spill my current repertoire, but in short it's all about "programming in the small". Can you construct a precise Boolean predicate to test for a well-defined condition? Do you "get" pointers and recursion? Find sample problems in your own work.