C For Yourself:learning C P by Richard Halpern