Assuming no prior knowledge of programming, this resource starts from scratch. It is written in a simple, direct style for maximum clarity and is aimed at first level students at universities and colleges, but is also suitable for novices studying alone.