The Essentials of Computer Science by