Beginning programming - Kingsley-Hughes, Adrian. (Wrox beginning guides, 2005)