Graduate Program

Approximately 100 students enter the graduate program annually, with an even split between those entering the M.S. and PhD programs. The M.S. degree in the School of Computing requires a thesis or non-thesis degree and provides comprehensive course and research experience. Most graduate students are supported financially throughout their graduate career via a combination of teaching assistantships, research assistantships, and fellowships. Our admissions standards are high, and hence the competition is rigorous for limited number of open positions within the program. Admission is based on an evaluation of both an applicant’s academic profile and research potential.


If you’re interested in attending graduate school in the School of Computing, please see our graduate admissions information.

Student Funding

Many PhD students and some MS students in the School of Computing receive financial support, please see our financial support page.

Welcome New Graduates

Information for new grads can be found here.

Degree Guidelines

Master’s Degree Guidelines
PhD Degree Guidelines

Degrees Offered

There are three Master’s degree programs within in the School of Computing at the University of Utah:

  • MS in Computer Science
  • MS in Computing
  • Master of Software Development

There are two PhD degree programs within in the School of Computing at the University of Utah:

  • PhD in Computer Science
  • PhD in Computing

Computer Science

MS and Non Thesis MS in Computer Science

PhD in Computer Science

Computing Degrees

Tracks within the Computing Degree

Computer Engineering (MS and PhD)

Computer Engineering is a discipline that combines elements of both Electrical Engineering and Computer Science. Computer engineers design and study computer systems at many levels from the circuits that make up computers, to the architecture of processors and subsystems, to the programming interfaces of those processors.

Data Management and Analysis (MS and PhD)

The rate at which scientists and businesses are producing data is increasing at a unstoppable rate. Being able to efficient process and make sense of such data has become a key scientific challenge in computer science. Not only must one be able to store such information compactly, but one additionally must develop algorithms to process it efficiently and intelligent systems that can reason about this data to find interesting patterns or make decisions. These topics form the core of the Data Management and Analysis track.

Graphics and Visualization (MS and PhD)

The graphics and visualization track includes research efforts in most areas of computer graphics, including geometric modeling, CAD/CAM, isogeometric analysis, scientific visualization, biomedical visualization, information visualization, visual analytics, computer vision, terrain modeling and rendering, haptics (force-feedback), realistic rendering, physically-based simulation, real-time rendering, GPU programming, computer animation, digital geometry processing, immersive environments, visual perception and spatial cognition.

Human-centered Computing (HCC) Track (MS and PhD)

The purpose of the HCC track is to train students to understand and create digital products that reflect and improve people’s capabilities, goals, and social environments. Students will learn to conduct original, rigorous research through interdisciplinary training in
computer science, behavioral and social sciences, and design, and specifically in the use of user-focused methods and methodologies.

Image Analysis (MS and PhD)

The School of Computing has image analysis research efforts in a wide variety of areas with a strong focus on biological and medical research but also significant efforts in other rapidly expanding areas such as geosciences. Most of these projects are multi-disciplinary and/or nationwide activities that provide unique opportunities for students to get a broader insight into research and engineering concepts and into the challenges and rewards of collaborative research.

Networked Systems (MS and PhD)

The Networked Systems track provides students cross-disciplinary graduate training in networked systems spanning networking principles and practice, network architectures, and system development.

Robotics (MS and PhD)

The Robotics Track is a program of study that may be taken either in the School of Computing or the Department of Mechanical Engineering. The field of robotics has expanded tremendously since its early focus on industrial robots, and now includes very diverse topics such as autonomous vehicles, medical robots, smart sensor networks, micro robots, robot vacuum cleaners, sentry robots, and pet robots.

Scientific Computing (MS and PhD)

The Scientific Computing track trains students to perform cutting edge research in all of the aspects of the scientific computing pipeline: mathematical and geometric modeling; advanced methods in simulation such as high-performance computing and parallelization; numerical algorithm development; scientific visualization; and evaluation with respect to basic science and engineering.