Computing Essentials by Timothy J. O'Leary & Linda I. O'Leary