The department views skills in communication, mathematics, and algorithmic reasoning as central and the understanding of underlying principles as more important than familiarity with specific technical products. Still, direct hands-on experience is essential to mastering these skills and principles. If students are to be adequately prepared for careers in computer science, they should have extensive experience with machines and software that are state-of-the-art.
The Department of offers undergraduate and graduate programs leading to the Bachelor of Science (BS) and Bachelor of Arts (BA) degrees, and the Master of Science (MS) and Doctor of Philosophy (PhD) degrees.
The Department has a number of active research programs across the spectrum of computing, including: computer architecture, compilers, networks and tools for distributed applications, parallel computation, databases and data mining, operating systems, algorithms, scientific problem solving environments, large-scale scientific computation and databases, computer and network security (including cryptography), computer forensics, computer vision, applied computational geometry, random number generation and Monte Carlo methods, as well as applications of fuzzy relations and non-classical logics. These research programs enjoy external support from agencies ranging from the National Science Foundation to the private sector.