You are here

Computer Science

Major, Minor

Computer scientists study fundamental questions about knowledge and computation: how to gather information, store it, transform it, and learn from it. Computational thinking permeates nearly every modern human endeavor, and computing plays a key role in recent advances in mathematics, natural sciences, economics, and many other fields. Students learn much more than computer programming—they apply computational ideas to solve problems, examine ethical issues at the intersection of computing and society, and study the theoretical and practical limits of computation.

Computer scientists study fundamental questions about knowledge and computation: how to gather information, store it, transform it, and learn from it. Computational thinking permeates nearly every modern human endeavor, and computing plays a key role in recent advances in mathematics, natural sciences, economics, and many other fields. Students learn much more than computer programming—they apply computational ideas to solve problems, examine ethical issues at the intersection of computing and society, and study the theoretical and practical limits of computation.

Program Highlights

Informed by the ACM/IEEE Computer Science Curricula, students gain an education that offers breadth across computer science and depth in areas of interest. Our computer science faculty's scholarship in a variety of research areas enhances the classroom experience, enabling the program to offer courses in diverse areas:

  • Computer programming, data structures, and analysis of algorithms
  • Logic and discrete mathematics
  • Programming languages theory, design, implementation, and translation
  • Networks, operating systems, and computer architecture 
  • Computer vision, graphics, and data mining
  • Ethical issues in computer science