Fundamentals of programming by Starkey and Ross