Program Information

GRE/Standardized Test Scores

The UVU Computer Science Department does not require nor does it use standardized test scores to evaluate the readiness of a candidate to begin the MCS.


The most desirable background for an MCS student is someone with an undergraduate degree in a computer-related field (Computer Science, Computer Engineering, Software Engineering, or a closely related field). You will need an overall grade point average of 3.0 or higher on a 4.0 scale. Additionally, you will need to have completed the following UVU or equivalent classes with a C+ or better:

  • CS 2300 Discrete Structures I
  • CS 2420 Introduction to Algorithms and Data Structures
  • CS 2810 Computer Organization and Architecture
  • CS 3060 Operating Systems Theory
  • MATH 1210 Calculus I

Students who feel they are prepared for the MCS, perhaps through work experience, but fail to meet all the requirements should address this issue in their statement of purpose.

Tuition and Fees

Tuition and student fees are established by the Utah State Board of Regents.

NOTE: Tuition is subject to change and will be updated as new information is released. Should a tuition increase take place, it is usually applied beginning Summer semester. Historically, tuition increases have been approximately 3%.

We encourage students to take potential tuition changes into consideration when establishing resources for financial aid.

Financial Aid Information   Latest Tuition Fees

For more information, visit the official tuition site.


Course Prefix and Number Title Credit Hours
Required Courses  
CS 6510 Design and Simulation of Operating Systems 3
CS 6700 Advanced Mathematics for Computer Science 3
CS 6400 Modern Databases 3
CS 6300 Software Engineering Leadership 3
CS 6500 Software Architecture 3
CS 6150 Advanced Algorithms 3
CS 6600 Graduate Project I 3
CS 6610 Graduate Project II 3
Sub-Total 24
Elective Courses Pick two courses:
CS 6470 Machine Learning 3
CS 6620 Advanced Data Mining and Visualization 3
CS 6730 Advanced Embedded Systems Engineering 3
CS 6800 Computer Graphics 3
Sub-Total 6
Total Number of Credits 30

Graduate Project

Every graduate student will be required to complete a two semester-long graduate project. Please, do not ever expect to complete this in a single semester. This would be like an inverted Mythical Man-Month; you do not have a baby in four months by just pushing harder and you do not complete two semesters of work in one semester by just working harder.

Picking the right Graduate Project is strongly related to picking the right Graduate Mentor. While all Graduate Projects are required to make students design and implement a large complex system, the specific type of project will differ from professor to professor. Some professors will offer projects that will be very industry related, while other professors may offer projects more research oriented, and some will have a combination of both. Deciding what you want to work on and who you want to do it with is one of your major responsibilities as a graduate student.

Being a Graduate Student

As a graduate student, you are moving into an area of education where more will be expected of you than ever before--more time, more commitment, more responsibility, more leadership, and perhaps, most importantly, more professionalism. It is not just the depth and complexity of the material taught in graduate classes--it's the entire process. Try to enjoy the journey. Employers who understand this will look at you differently than an undergraduate, not only because you have had different classes, but because you have had a different type of educational experience, one that requires more of you. 

To this end, the MCS has been designed around three key elements: 1) to be  rigorous, 2) to be relevant, and 3) to be practical.  Additionally, all graduate  students are expected to achieve four key outcomes before graduating from the MCS: 1) students will design large-scale systems, 2) students will implement large-scale systems, 3) students will exhibit professional maturity, and 4) students will develop a broad base of competency.

What does this mean to you as an MCS student?

  • You should expect courses that require 3+ hours of work outside of class for every 1 hour of lecture.
  • You should expect multiple hands-on assignments in every course that escalate in both depth and complexity as the course progresses.
  • You should expect to gain the fundamental skillset needed to evaluate and, if appropriate, apply the techniques/technologies taught in class in a real-world setting.
  • You should expect to work on projects where the lines of code measure in the thousands rather than the hundreds.
  • You should expect to work with a faculty mentor/advisor who will help guide you through the process of completing your graduate project.
  • You should expect to develop a greater level of confidence for tackling larger and more complex systems.
  • You should expect as an alumni of the MCS that your views and opinions will be valued by the CS Department.

Graduate Mentor's Role

If you have not read the section entitled "Being a Graduate Student," please read that first. As a graduate student, more will be expected of you, and while you might not always agree with what is being expected of you, understand that, too, is part of the process.

As you make your way through the graduate program, you will undoubtedly encounter issues. These may take the form of time management problems, waning commitment to the program, too many interests, as well as a host of other problems. While the MCS Director and individual faculty members teaching a course can assist you, this is where your faculty advisor/mentor can really help you. Finding the right mentor can be essential to your success as a graduate student.

The right faculty mentor can help keep you focused on your goals when you are feeling lost or overwhelmed, but it is your responsibility to pick the correct faculty mentor for you. The department can give you advice on whom to choose, but ultimately you are responsible for choosing your faculty mentor, and they must agree to accept you as a student. The faculty mentor you choose will not necessarily be your best friend or the teacher you like the most. They should be the faculty member you feel most strongly can guide you to achieving your goals. This may actually mean picking the professor that challenges you the most. Like picking a spouse or job, there is no simple set of rules that will always work. 

Ways to Improve Your MCS Application

The UVU Computer Science Department has identified the three most common factors that contribute to a candidate not being extended an offer to join the MCS.

1. Inadequate background-

The minimum qualifications for entering the MCS are an undergraduate degree and a C+ or better in the follow UVU or equivalent classes:

  • CS 2300 Discrete Structures I,
  • CS 2420 Introduction to Algorithms and Data Structures,
  • CS 2810 Computer Organization and Architecture,
  • CS 3060 Operating Systems Theory,
  • MATH 1210 Calculus I.

Your industry experience can be used to mitigate poor grades if they happened years ago, but industry experience is not a substitute for a formal education in these core areas. As these classes constitute the bare minimum qualifications UVU is looking for, it will greatly enhance your ability to compete for a position within the MCS if you have additional computer science education beyond these classes and/or years of industry experience. Based upon the quality and quantity of candidates we have seen apply to the MCS, it is reasonable to expect that each year’s pool of candidates will be both larger and more qualified.


How to address this issue:

The MCS has identified three tracks of study beyond the minimum qualifications that would greatly improve your chances of being accepted into the program if you were to excel in one of these areas of study.

  1. If your personal interests are in web development and networking, we suggest you take CS2690 Computer Networks II, CS3660 Web Programming II, CS3450 Principles and Patterns of Software Design, and CS3520 Database Theory.
  2. If your personal interests are oriented more towards software engineering and project management, we suggest you take CS4400 Software Engineering II, CS4550 Software Engineering III, CS3450 Principles and Patterns of Software Design, and CS3520 Database Theory.
  3. If your personal interests are more hardcore programming and computer science oriented, we suggest you take CS4470 Artificial Intelligence, CS4380 Advanced/High-Performance Computer Architecture, CS4490 Compiler Construction, and CS3520 Database Theory. Given a B- is the minimum grade the MCS will accept for any graduate level courses, we strongly suggest you not make less than a B in any of the upper division classes you take.


2. Weak or inappropriate recommendations-

Recommendations from friends and relatives are not appropriate recommendations for the MCS. Professional recommendations should come from co-workers, supervisors, and/or educators.

How to address this issue:

It is important that you choose recommenders that actually know your strengths and weaknesses. Too much praise from someone who barely knows you will come off as exaggerated hype, while a bland, mediocre recommendation from a supervisor or educator will never help you. Talk to those who are recommending you—whether they be co-worker, supervisor, or educator—about your reasons for applying to the MCS. If you don’t feel you currently have strong enough recommendations to apply, consider taking upper division classes from the UVU Computer Science Department, get to know your professors on a personal level, and get to know members of the MCS faculty, as well as the MCS Director, MCS Advisor, and the CS Department Chair. This will always benefit you.

3. Terse or non-compelling statement of purpose-

Short, disassociated statements tell us nothing about you or your goals. If you don’t know why you want to be in the MCS, then we don’t know if we can help you achieve your goals, and as such we will look for candidates who appear to be a better fit for the MCS. If all you want to do is write code, the MCS will surely require you to do this, but it isn’t just about writing code, so again we are a poor fit for you. If making more money is your primary motivation for entering the MCS, the MCS can help you to make more money, but the goals and student outcomes of the MCS aren’t about making money, so again we are a poor fit for you.

How to address this issue:

Tell us about yourself, who you are, and what you want to become. The MCS is focused on having students design and implement large-scale systems, so highlight any relevant work experience you have and tell us about the most significant project you’ve ever worked on and what you did on that project. Let us know how you see the MCS helping you achieve your goals. Make time to talk to the MCS Director, and/or MCS Advisor; they can help you to better understand the role of the MCS and how you can fit in it. They can even connect you with current MCS students to help broaden your perspective. Even consider talking with your boss or CEO about how they see the MCS benefiting you in your current job situation. In the end just remember, we’re interested in you and your goals, not the goals others have for you, and that is ultimately what you should be interested in also.


A personal note from the MCS Director-

I was not always an academic; there was a time when I wasn’t even a good student. When I finished high school, I was functionally illiterate. I failed college English so many times I was threatened with expulsion and struggled in my math and science-related classes. Yet, even through all that, I was always motived to learn. Eventually I found the help and motivation I needed to excel in school. My undergraduate degree wasn’t in math, science, or engineering. It was a BBA in Information Systems. As a result, when I went for my Master of Science in Computer Science, I had to take lots of leveling classes to get into the graduate classes. I never saw these leveling classes as a waste of my time; rather I saw them as an opportunity to grow, learn, and prove myself. I was 40-years old with 17 years of industry experience when I returned to school to get my Ph.D. There were times in class when I knew the material better than my professor, yet there was always something I could learn. Education is truly a journey not a destination. When you complete your study in the MCS, you will learn the real hard truth of graduate education. You’re not done, you’ve only scratched the surface, and you’ll need to know even more to solve the really fun, complex, and difficult problems that exist in the world.


Curtis Ray Welborn, Ph.D.
Computer Science Department