Extended Prelude To Programming by Stewart Venit