A Balanced Introduction to Computer Science (3rd Edition)