The following is a special contribution to this blog from Henry Kautz, Chair of the Department of Computer Science at the University of Rochester. His research interests are in knowledge representation, satisfiability testing, pervasive computing, and assistive technology. He is currently President of the Association for the Advancement of Artificial Intelligence (AAAI). If you have comments on this essay, e-mail Henry or add an entry to the bottom of this blog post.
Notably, as with many courses taken during one's educational career, computer science also teaches many generalizable skills. Computer science is much more than learning to code, and its benefits go beyond knowing a particular programming language. Computer science teaches students about logic, understanding systems and engineering and design basics, all of which are applicable to other academic and career fields. Perhaps this is why correlational data show that learning computer science is associated with higher math achievement.