Graduate Student Resources

Graduate Student Advisory Committee: GradSAC acts as a liaison between graduate students and the administration. They also maintain information and resources for graduate students and organizes social events and assists in new graduate recruiting. Find our more on their wiki.

Graduate Handbook: See MS and PhD Programs.

Announcements and Discussion: Announcements and discussion happen on our Slack. Official announcements are also sometimes sent to mailing lists like

Financial support: Graduate students in School of Computing receive financial support from several different sources including fellowships, research assistantships, and teaching assistantships. Find more on our financial info page.


Graduate School Forms

International Student Forms

To apply for CPT in SoC you need to complete the CPT Application Form. The CPT Verification Form is needed by students required to enroll in the CS6945 – Internship credit.
CPT Application and Policy
CPT Verification Form (CS 6945 – internship credit)
CS 6945 – Internship – Syllabus

Graduate Certificate in Deep Learning

Machine Learning


The Deep Learning Certificate Program will provide working knowledge of the use of state-of-the-art deep learning technology as a graduate student certificate program. Deep learning allows the identification of objects in images, translating languages and driving cars autonomously. Deep Learning is rapidly gaining application across all industries due to the availability of adequate computing power (e.g., GPU’s and large data sets to train with. This is true from sensor data processing to database analytics to fraud detection in banks. Utah currently has a large number of unfilled well-paying jobs in this area. Student enrollment in the program is achieved as a stackable certificate on top of a regular graduate degree. Students with appropriate background may be allowed into the program as non-matriculated students. The successful award of the certificate in Deep Learning results from the completion of 15 student credit hours of work at the graduate level. This program provides education in this area to engineering and science graduate students beyond those with computing background. In addition, the certificate program requires a graduate internship project with program’s industry partners.

For more information, refer to the Program Information Brochure (PDF).

Deep Learning Capstone

The Graduate Certificate in Deep Learning requires a capstone project. For some work with a local company see this page.

Graduate Certificate in Data Science


Data is impacting many areas of science, engineering, and industry; from analyzing troves of weather data to modeling traffic patterns to processing millions of online customers, it is the enormous data which is creating new opportunities and challenges. To tackle these challenges, one must have the training to store, manage, process and analyze data at these scales. But the challenges are beyond scale alone, the complexity of the data requires new powerful analytical techniques. Finally, it is crucial to have skills in communicating and interpreting the results of this analysis. A person trained in all of these skills is a data scientist.

Graduate Certificate in Data Science Program


Admissions to the Graduate Certificate in Data Science here.

Frequently Asked Questions

Applying and Enrolling in the Program

A: You should follow these application instructions. It involves applying as a non-matriculated student, and a short form with some background information, a CV, and a personal statement, and a question about your background in programming/computing.

A: Then just go to the second step here: application instructions. It is a short form with some background information, a CV, and a personal statement, and a question about your background in programming/computing.

A: We process the applications on a rolling basis. You may hear back in a few days, but it may be a few weeks.

A: A student who does well in the certificate classes will be a very strong candidate for the MS program. But they will need to apply here. The most similar degree is the MS in Computing under the Data Management and Analysis track.

A: Up to 9 hours (3 classes) can transferred from non-matriculated to a graduate degree program.

A: No. It is not a degree program. For this, one would need to be enrolled in the MS or PhD program.

Programming and Computing

A: The Graduate Certificate in Data Science consists of classes which are also taken and required for MS and PhD students in the School of Computing, so they all have programming and computing components. However, they are typically not among the heaviest programming classes (except the optional CS6530 Advanced Database Systems). That said, we will expect for admitted students that short abstract programming tasks will not be a burden to your learning experience, but rather a way to enhance it.

Many successful applicants/students aiming for the certificate are software engineers, while others work in a quantitative area where they do some minor programming. Having taken some computer science classes at a university a while back is fine (it should come back to you). But we expect you can do more than just scripting; use of data structures is essential to manipulating big data.

A: While other certificate or degree programs may focus on software tools (e.g. Tableau) that try to remove the need for programming from the job of a data analyst, we feel this approach is limited. All of these tools work in limited scenarios, with limited data sizes and formats. Our program focuses on the fundamentals of data science, including how these sorts of tools work. But more generally, as the tools change we want to train our students to understand what is going on behind this change, how to analyze and handle a problem when the data is too big for a tool, and how to investigate and evaluate new developments before they are integrated into easy to use mainstream programs. For instance, a tool or package may present many options to learn a classifier (e.g. given nicely formatted and labeled customer data, predict which of the future potential customers will contribute to a net profit), our program aims to teach students which option to use, how much to trust that prediction, how to apply this to very large datasets, and potentially how to go beyond the presented options.

If an exciting new technique is described in a brand new research paper about data science, we hope our students will be trained to find, understand, and put this technique to work.

A: Most of the classes are fairly agnostic to the programming language, and can be completed in many languages ranging from R to Python to C++. High level languages like python, or to some extent even including R, are becoming built out to deal with larger scale. More importantly, they now have many useful libraries that really eases the implementation of many core tasks in data management and analysis. On the other hand, knowing and using a more low-level language like C, C++, or Java, will perhaps allow students to get more out of the classes and assignments. Students have witnessed 3 to 4 orders of magnitude speed up on some assignments using Java instead of R.

Certain classes may require C, SQL, or Processing (based on Java), but (with the exception of CS6530 Database Systems) do not expect much if any prior experience in those languages by the students.


A: It is a bit complicated. It depends on how spread out you take the classes and whether you are a Utah resident or not. For residents at a 1-class/semester pace, the certificate should cost roughly $10,000.

Here are the rate schedules for residents (lived in Utah last 3+ years) and non residents.
So if one takes the classes more rapidly, then it will cost less.
We are investigating normalizing this cost.

Courses and Availability

A: The plan is to offer the following classes every Fall and Spring.

  • cs6630 Visualization for Data Science
  • cs6530 Database Systems
  • cs6350 Machine Learning


  • cs6140 Data Mining
  • cs5530 Database Systems (can be substituted for cs6530)

A: The times and days will be on a semester by semester bases. The most up to date tentative plans for scheduling can be found at the University of Utah Class Catalog. Once you have chosen the appropriate semester, all classes are listed under the CS : Computer Science link.

We plan to mostly video tape and live stream, depending on demand.

A: The document found here serves as the official requirements. It may be updated on an annual basis. You may complete the certificate under any such official document posted during the course of your enrollment in the program.

A: 1 or maybe 2. It will depend on your background. Some classes have a bit less load than others, so pairing two classes with a lesser load, especially if you have some background in the area may be doable. But most students also working full time take 1 class at a time.

That said, some very dedicated students do manage to successfully take 3 or more classes at a time while also working. 3 classes is a full load for full-time MS or PhD students.

A: No, not in general. However, given an individual’s background and time off from school, we may guide you towards classes that may be a bit easier first so that it is easier to get back into the swing of things.

Certificate Programs

Certificate programs allow students in other departments to learn about a particular topic in depth and receive a certificate for completing the program. The certificate goes on the official transcript. Many of the classes in the certificate programs will be video recorded and live-streamed and made available soon after each class. This will help professional students on a busy schedule from falling behind if they miss a class, and will allow all students to easily review the material as presented in the lecture.

The School of Computing currently offers three Graduate Certificate Programs:

Up to 9 credits from courses taken in a certificate program can later be used in a graduate program.

MS and PhD Programs

MS and PhD degrees through at the School of Computing can be obtained in two programs: the Computer Science Program, and the Computing Program.

The computing program is made up of a series of tracks that correspond to a specific specialization. The computer science program aims to educate students in theory, systems and hardware, but gives students a lot of flexibility beyond the required courses. Note that the computer science program has no tracks. All programs and tracks, except for the Secure Computing Track, can be taken by both, MS and PhD students. The Secure Computing Track is only available for MS students.

Requirements and Administration

Director of Graduate Studies: Alexander Lex
Associate Director of Graduate Studies: Kate Isaacs
Contact: (This e-mail is only for students already in the program; for admissions-related questions, please write to the graduate admissions e-mail: 

Graduate Advisors:
Jill Wilson (responsible for students with last names A-J),
Allen Hill (responsible for students with last names K-Q),
Sydnee Sartor (responsible for students with last names R-Z)

Contact:  (This e-mail is only for students already in the program; for admissions-related questions, please write to the graduate admissions e-mail: 

Director of Graduate Admissions: Ponnuswamy (Saday) Sadayappan

The overall graduate program is administered by the Director of Graduate Studies (DGS), with support from the Associate Director of Graduate Studies (aDGS), and the graduate advisors.

The computer science program and the different tracks are administered by a program director (for the CS program) and track directors (for all computing tracks). These directors are usually responsible for any issues related to a student’s program of study.

Graduate Handbooks

The requirements of the degree program are set by the Graduate Student Handbook. The handbook is updated every year; the handbook of a particular year is valid for the students entering the program in that year.

Even older handbooks are archived.

Computer Science Program

Director: Haitao Wang – 

The computer science program aims to educate students in three fundamental categories: theory, systems and hardware. It is made up of three required courses in these areas, which can also be substituted by courses from the same area. See the graduate handbook for details.

Computing Program

Students in the computing program have to choose a track of specialization. The school of computing currently offers the following computing tracks.

Artificial Intelligence

Track Director: Ana Marasović –
Track Faculty: Ziad Al-Halah, Aditya Bhaskara, Daniel Brown, Rogelio E. Cardona-Rivera, Shireen Elhabian, Anna Fariha, Tom Henderson, Tucker Hermans, John Hollerbach, El Kindi Rezig, Alan Kuntz, Varun Shankar, Vivek Srikumar, Shandian Zhe

Artificial Intelligence (AI) is a discipline that studies the theory and methods that underlie thought and intelligent behavior and their implementation in machines.  The full AI endeavor is multidisciplinary, encompassing the study necessary to understand and develop systems that can perceive, learn, reason, communicate, and act in the world.

The AI track is designed to train students to undertake research for advancing, applying, and governing this computing technology.

Computer Engineering

Track Director: Kobus Van der Merwe –
Track Faculty: Rajeev Balasubramonian, Erik Brunvand, Neil Cotter (ECE), Peter Jensen, Priyank Kalla (ECE), Sneha Kumar Kasera, John Regehr, Ponnuswamy (Saday) Sadayappan, Brent Stephens, Ken Stevens (ECE)

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

Track Director: Shandian Zhe –
Track Faculty: Aditya Bhaskara, Anna Fariha, Lajos Horvath (Math), Chris Johnson, Sneha Kumar Kasera, Mike Kirby, Marina Kogan, Alexander Lex, Braxton Osting (Math), Prashant Pandey, Valerio Pascucci, Bei Wang Phillips, Jeff Phillips, Vivek Srikumar, Blair Sullivan, Hari Sundar, Shandian Zhe

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

Track Director: Cem Yuksel –
Track Faculty: Martin Berzins, Kate Isaacs, Chris Johnson, Mike Kirby, Alexander Lex, Valerio Pascucci, Paul Rosen, Bei Wang Phillips

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 Director: Jason Wiese –
Track Faculty: Daniel Brown, Erik Brunvand, Rogelio E. Cardona-Rivera, Kate Isaacs, Marina Kogan, Alexander Lex, Vineet Pandey, Sameer Patil, Eliane Wiese, R. Michael Young

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

Track Director: Shireen Elhabian –
Track Faculty: Ziad Al-Halah, Tom Henderson, Sarang Joshi, Tolga Tasdizen, Ross Whitaker

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.


Track Directors: Daniel Brown –
Track Faculty: Jake Abbott (ME), Ziad Al-Halah, Daniel Brown, Tom Henderson, Tucker Hermans, Alan Kuntz, Tommaso Lenzi (ME), Steve Mascaro (ME), Mark Minor (ME), Vivek Srikumar

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 a variety of topics such as autonomous vehicles, medical robots, smart sensor networks, micro-robots, robot vacuum cleaners, sentry robots, and pet robots.

Scientific Computing

Track Directors: Varun Shankar –
Track Faculty: Martin Berzins, Mary Hall, Tom Henderson, Chris Johnson, Mike Kirby, Pavel Panchekha, Prashant Pandey, Valerio Pascucci, Ponnuswamy (Saday) Sadayappan, Varun Shankar, Ross Whitaker

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.

Secure Computing Track (MS Only)

Track Director: Sneha Kumar Kasera –
Core Faculty: Sneha Kumar Kasera, Stefan Nagy, Sameer Patil, Pratik Soni, Jun Xu, Mu Zhang
Associate Faculty: Aditya Bhaskara, Anton Burtsev, Eric Eide, Ganesh Gopalakrishnan, Pavel Panchekha, Jeff Phillips, John Regehr, Rob Ricci, Vivek Srikumar, Ryan Stutsman, Kobus Van der Merwe, Eliane Wiese, Jason Wiese

The MS Computing Track in Secure Computing (MSSC) rigorously prepares graduate students for careers in cybersecurity research and development. It provides students with both a solid foundation of cybersecurity principles and hands-on practice of cutting-edge technologies. It offers practical experience in techniques for detection and analyses of cyberattacks, and for effective prevention, response, and recovery. The human aspects of security and privacy are addressed along with cyber operation including crime investigation and digital forensics. Students will also be exposed to business aspects of security and privacy, specifically aspects of cybersecurity risk and compliance, through a collaboration with the David Eccles School of Business at the University of Utah.

For details, see the track website.

Graduate Academic Program Overview

Approximately 200 students enter the graduate programs annually, split between those entering the MS, the MSD, and the PhD programs. 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.

PhD Program

The PhD degrees are research focused and typically take five years to complete. Students are supported financially throughout their graduate career via a combination of teaching assistantships, research assistantships, and fellowships, conditional on good progress.

MS Program

The MS degrees typically take two years and can be completed as a thesis or non-thesis degree. The degrees provide comprehensive courses and research experience. MS students have the opportunity to apply for funding as teaching assistants or research assistants.

The PhD and MS degrees assume a completed undergraduate education in computer science or a related field.

The PhD and MS degrees are offered in Computer Science, and in Computing. In the Computing program, students select a track for specialization.

MSD Program

The Master of Software Development (MSD) degree is is a comprehensive and rigorous 16-month STEM program producing capable coders, big data analysts, computer security experts, and more for graduates looking to carve out a new career path. It’s also the perfect next step for those with no CS background who want to enhance their careers by learning software development. Please refer to the MSD page for more details.

Certificate Programs

Certificate programs allow students in other departments to learn about a particular topic in depth and receive a certificate for completing the program. The certificate goes on the official transcript.  Many of the classes in the certificate programs will be video recorded and live-streamed and made available soon after each class. This will help professional students on a busy schedule from falling behind if they miss a class, and will allow all students to easily review the material as presented in the lecture.

The Kahlert School of Computing currently offers four Graduate Certificate Programs:

Up to 9 credits from courses taken in a certificate program can later be used in a graduate program.

PhD & MS Admissions

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


For questions related to the PhD and MS program, refer to the Graduate FAQ.

For questions related to the MSD Program, refer to the MSD page.

For questions related to the certificates, see the respective certificate pages.


Over 100 students are admitted annually, split between the M.S. and Ph.D. programs. Admission is competitive and based on the applicant’s academic profile and research potential.

What you’ll need to apply.

  • Degrees Offered
  • Emphasis Areas
  • Bachelor’s Degree
  • GPA
  • Test Scores
  • Fall Admissions Deadline
  • Spring/Summer Admissions
  • Department Decisions
  • Transcripts
  • GRE (optional)
  • TOEFL or IELTS (International Students Only)
  • Statement of Purpose
  • Letters of Recommendation
  • Passport
  • Financial Statement
  • Financial Assistance: Fellowships, RA, & TA
  • Student Earnings Estimate
  • Tuition & Fees
  • Living Expenses
  • Passports
  • I-20
  • English Proficiency Testing
  • The Application Deadline was December 15, 2023
  • Explanation of features
  • Evaluation of Application Process
  • Online Application Status
  • New Student Meetings
  • Enrollment
  • Orientation
  • Official Transcripts

Application Fee

PhD Domestic PhD International MS Domestic MS International
$0* $65** $55 $65

*Please contact

**A number of Application Fee Waivers are now available for International PhD applicants, as described here.

Getting Additional Information

Check out the Graduate Admissions FAQ for answers to many of your questions!

For information regarding transcripts, English Proficiency tests scores, and I-20s, please contact the Admissions Office (Domestic students) or the International Admissions Office (International students).

Requirements, costs, and other information are subject to change without notice. The Kahlert School of Computing Graduate Admissions Frequently Asked Questions document is a great resource for prospective students.

For information not covered in the “What You’ll Need to Apply” section above, email Unfortunately, the volume of e-mail to is very high, often asking about information that is already clearly stated on our web pages. Thus, it may take a while for a response to an e-mail query. So please check that the information you are seeking is not already on the web pages. Also, please note that all stated requirements are firm and exceptions are not granted.