Apr 20, 2024  
Graduate Record 2005-2006 
    
Graduate Record 2005-2006 [ARCHIVED RECORD]

Computer Science


Return to {$returnto_text} Return to: School of Graduate Engineering and Applied Science

Computer science is that body of knowledge and research associated with the development and utilization of digital computers. It includes material associated with pure and applied mathematics as well as the more technological areas typical of engineering subjects. However, the existence and proliferation of computer systems has led to the development of programming languages, operating systems, and other areas of study that have no counterpart in more classical disciplines. For this reason, the department’s instructional and research programs are kept flexible in order to accommodate new areas of importance as they develop.

Programs of study and research through the doctoral level are offered by the department. A suitable background for admission to the graduate program is a bachelor’s degree in computer science or a minor in computer science with a major in physics, engineering, or mathematics. Applicants for this program should have a strong interest in empirical research.

Research in computer science includes algorithms, parallel processing, computer vision, operating systems, system security, performance evaluation, programming languages and environments, software engineering, distributed computing, real-time systems, critical systems and survivability, computer networks and electronic commerce, computer graphics and human-computer interfaces, and databases. A major emphasis is in the development of parallel and distributed computing systems.

The department’s computer core infrastructure is run primarily on Sun Solaris systems, while the desktop computing is dominated by Linux and Windows XP. The infrastructure is linked within the department and to the University’s backbone on Gigabit Ethernet, with 100MB switched Ethernet to the desktop. The department fileservers provide over 3 Terabytes of RAID 5 storage available transparently across all systems. The central infrastructure provides support for distributed, parallel and compute intensive jobs on both Sun E280 (UltraSparc-III/8GB RAM) and on dual-cpu AMD (XP2400/2GB RAM) Linux compute servers. On the desktop the department provides the full suite of Microsoft software, including Visual Studio and the .NET compilers and Microsoft Office; most desktop systems are configured to dual-boot RedHat Linux as well. The department also provides a number of high-quality software engineering tools, including commercial development, debugging and version control tools for both the Windows and the Solaris environments.

The department has a number of highly visible research projects that are building innovative, cutting-edge systems. Virginia Embedded Systems Toolkit (VEST) is an integrated environment for constructing and analyzing component-based embedded and real-time systems. Other major projects with national exposure include LEGION, a world-wide virtual computer linking major super-computer centers across the country; Chromium, a system for scalable interactive graphics on clusters of workstations; POP, or package-oriented programming, for large-scale software reuse and integration; NEST, Networked Embedded Systems Technology for Wireless Sensor Networks; ZEPHYR, a major component of the National Compiler Infrastructure; and SURVIVE, which addresses the vulnerabilities of the information systems embedded in our national infrastructures.

The department offers the Bachelor of Science, Master of Science, Master of Computer Science, and Doctor of Philosophy degrees. Regardless of the degree track all graduate students are expected to engage in serious research. To this end, the department keeps its graduate classes small and fosters a one-to-one relationship with the faculty.

All graduate students are expected to demonstrate breadth of knowledge equivalent to that found in the department’s core courses: Computer Organization (CS 654), Operating Systems (CS 656), and Theory of Computation (CS 660). In addition, they must take at least one graduate-level mathematics course.

Graduate students are also expected to master one area of computer science in depth. To this end, each new student should choose a research advisor within the first semester, take several advanced seminars, and should submit at least one academic publication during their tenure here. Participation in professional conferences is expected.

Although specific course requirements are minimal for the Ph.D. degree, students in the program are expected to develop the mathematical skills necessary for serious scientific research and to participate in the ongoing intellectual life of the department by regular attendance at colloquia and seminars.

Return to {$returnto_text} Return to: School of Graduate Engineering and Applied Science