Extended Prelude to Programming (3rd Edition)