Mar 28, 2024  
Graduate Record 2007-2008 
    
Graduate Record 2007-2008 [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 9 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), E3500, V210s, and on large clusters of dual-CPU AMD (XP2400/2GB RAM) processors.  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 Hotspot, a system for thermal modeling tool for CPU architectures; Chromium, a system for scalable interactive graphics on clusters of workstations; Genesis, a project focusing on developing comprehensive methodology for introducing diversity in software; Galileo, a tool for advanced fault tree analysis; NEST, Networked Embedded Systems Technology for Wireless Sensor Networks; Strata, a retargetable infrastructure for software dynamic translation; and LEGION, a world-wide virtual computer linking super-computer centers across the country.

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