Mastering the Digital Age
Whether we're at work or play, computers and software have become an integral part of everyone's daily lives. From business and engineering to healthcare, government and entertainment, worldwide industries are increasingly depending on software to get the job done.
To meet that need, the University of Utah’s School of Computing is proud to announce Utah’s only master’s program in software development geared specifically for those with no computer science background.
The Master of Software Development (MSD) is a comprehensive and rigorous 16-month 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 who want to enhance their careers by learning software development.
Success Stories
Students from the first graduating class of the Master of Software Development program are achieving great success thanks to this exciting curriculum. They have been hired for high-paying software developments jobs from companies including Microsoft, L3 Technologies, Symantec, Salesforce, BioFire, Ancestry, Cvent, and Bruker Daltonics among others. Hear what some of them had to say about the program and how it helped them achieve their dreams in finding a new, lucrative career.
Why the MSD program might be right for you
For a new digital era.
Whether it's in finance, retail, government, or even the arts, software is a critical component to every industry. Software development has become a vital — and valuable — work skill as companies have turned to mobile apps and cloud computing to boost productivity and make life easier.
New possibilities.
Feel like you've reached a career dead end or realized your bachelor's degree hasn't opened as many doors as you once thought? Here's a chance to reset your earning potential. The Master of Software Development is a key to new possibilities in an area with unbelievable growth.
No CS degree? No problem!
This innovative program requires no computer science or related degree, but it will engage students in an extensive 40-credit-hour curriculum that covers everything from writing high-quality software to data analytics and security. We're looking for hard-working graduates with strong analytical thinking skills.
Expert faculty.
The MSD courses are taught by faculty from the University of Utah's world-renowned School of Computing. A pioneer in computer graphics, computer networking, computer architecture and digital media, the School of Computing has more than 40 faculty that touch every aspect of modern computing research.
Admissions
Early decision deadline for Domestic and International Applicants: March 15, 2021. Decision will be made by April 15, 2021 with wait-list possibility.
Primary deadline: May 15, 2021 for decisions by June 30, 2021. Late fee of $30 for applications submitted after April 1.
Program Acceptance
Admissions Criteria
-
Bachelor's Degree
You may apply if you have received a bachelor’s degree from a regionally accredited college or university. Four years of study is required for most international university degrees. If you are currently finishing up your degree, BS or MS, please note your status in your applications statement of purpose, and upload available transcripts to date into the application system. You can be admitted based on this information and, official transcripts will be verified before the start of the semester. You need to have a bachelor’s degree before starting the MSD program. -
Transcripts/GPA
This requirement includes a list all colleges and universities applicants have attended including the University of Utah, regardless of length of attendance. Official transcripts from each institution will be required. A minimum cumulative 3.0 undergraduate GPA is required for admission. The transcripts should include courses that demonstrate the ability to reason mathematically and logically. -
Graduate Record Examination (GRE) Test Score
The GRE is not required to apply, but will be looked at if submitted with your application. School code 4853 or department code 0402. -
English Language Proficiency
International applicants must receive a minimum score of 90 on the TOEFL (Test of English as a Foreign Language) iBT exam or 6.5 on the IELTS exam.
Needed for Application
-
School of Computing MSD Online Application
Apply by clicking the following link: Online Application -
Statement of Purpose
One statement of purpose essay describing the applicant's intent and goals for joining the program (submitted within the online application). -
Three Letters of Recommendation
-
Resume
What you need to know
Fall (Year 1)
CS 6010
This course covers (i) basics of hardware and software components of different types of computers including PCs, laptops, mobile devices, servers, and clouds; Software components include operating systems, programming languages, and translators (compilers, interpreters, high level languages, assembly languages, binary code); (ii) Introduction to programming in C++; (iii) the Linux programming environment, shell scripts, processes, file systems, directory structures, paths, and libraries; (iv) Source code control and code repositories – version control, github, subversion.CS 6011
This course will build upon CS 6010 and cover (i) object oriented programming principles in depth and specifically, Java; (ii) Windows development environment; (iii) Multithreading. (iv) Comparison of different object oriented programming languages; (iv) Software design. (vi) Programming examples will be drawn for various computer applications including web applications, and mobile applications.CS 6012
This course will build upon on CS 6010 and CS 6011 and cover (i) different types of data structures including Arrays, Stacks, Queues, Trees, Heaps, and Hash Tables; (ii) Graphs; (iii) Time and space complexity; (iv) Algorithms – pide and Conquer, Dynamic Programming, and Network flow; (v) NP completeness; (vi) Approximations; (vii) Randomization.Spring (Year 1)
CS 6013
This course covers (i) an introduction to modern commodity hardware architecture and Operating Systems with an emphasis on their co-design; (ii) concurrent and efficient code for modern machines; (iii) reasoning about concurrent performance including context switch, cache coherence, and non-uniform memory access costs; (iv) The process abstraction, protection, and isolation; (v) Controlling devices through the operating system – device drivers; (vi) System calls; (vii) Virtualization.CS 6014
This course covers (i) Internet software and hardware components, protocols (e.g., TCP/IP), Internet performance metrics; (ii) Mobile and wireless networking; (iii) Socket programming and applications; (iv) Software defined networking, network function virtualization; (v) Causes and effects of computer and network vulnerabilities (e.g., poor code, limited access control); (vi) Solutions for securing computer and networked systems through cryptography, security-aware programming/coding, and careful protocol design; (vii) DDoS prevention, end-to-end analysis of spam-value chain; (viii) concepts of indirection and randomization in network architectures.CS 6015
This course develops skills in developing and maintaining complex applications. Skills will be developed in (i) creating and interpreting specifications for software, both formal and informal, (ii) using version control systems and continuous integration systems, (iii) creating test cases, creating testable software, and assessing the effectiveness of a testing campaign, (iv), using static and dynamic analysis tools to find and eliminate software defects, (v) refactoring applications, and (vi) writing solid, secure code using techniques such as defensive programming and assertions.Summer (Year 1)
CS 6016
This course covers database concepts and tools for both structured and unstructured data. An understanding with corresponding skills will be developed in (i) the effective use of relational databases and in particular SQL; (ii) how to interact with unstructured data via NoSQL; (iii) how the database community has attempted to virtualize heterogeneous data (via SQL-like); and how to apply data analysis tools such as MapReduce and Spark.CS 6017
This course will cover concepts in (i) supervised learning approaches; (ii) unsupervised clustering; and (iii) regression / extrapolation, in addition to ways of visually representing and interacting with data and the results of the aforementioned analyses.Fall (Year 2)
CS 6018
This course teaches to incorporate software development skills to design and build different types of application systems. These application systems include Embedded systems (Internet of Things), mobile and cloud application, and web system design. The course also covers consuming and providing services, and software as a service (SAS).CS 6019
Students will apply the knowledge of software development to specific disciplines/application domains for a significant capstone project. Examples include design and development of a substantial finance software package, design and development of security protocols or tools, design and development of software for data collection and analysis, etc. Students will acquire deeper knowledge in the domains they choose to work in.Spring: Monday-Friday 8:30am-12:30pm
Summer: Tuesday-Thursday 8:30-11:30am
Fall 2: Monday/Wednesday 8:30-11:30am
Resident: $41,174.32
Non-Resident: $57,472.48
Current cost per semester: https://fbs.admin.utah.edu/download/income/Graduate/MSD.pdf Each student will be provided a laptop with software and access to online resources. The above amount includes the cost of the laptop + software + online resources. Students will be able to retain their laptops after finishing the program at no extra cost.

Salt Lake City
- #1 America’s 25 Best Cities for Young Professionals — Forbes
- #1 Best Place to Start a Career — CNBC
- #1 Best Cities to Start a Career — WalletHub
- #3 Best Cities for Young Entrepreneurs — NerdWallet
- #4 Most Attractive City — Travel & Leisure
- #7 25 Best Cities for Jobs — Glassdoor
- #10 Best Places to Live in the U.S. — U.S. News & World Report
Utah
- #1 Best State for Employment — U.S. News & World Report
- #1 America’s Top States for Business — CNBC
- #1 Best States for Business — Forbes
- #1 Best States for Business — 24/7 Wall Street
- #1 Fastest-Growing Tech States — Business Insider
- #1 Economic Outlook Ranking — American Legislative Exchange Council
- #1 Most Entrepreneurial States — NerdWallet
- #1 Top Destination in the World to Visit — Fodor’s Travel
- #1 Favorite Mountain Towns (Park City) — Travel & Leisure
- #2 Best Business Climate — Business Facilities Magazine
- #2 Economic Growth Potential — Business Facilities Magazine
Feb 5: Gene Payne from the SCI Institute
Feb 12: James Barwick from Goldman Sachs
Mar 4: Scott Johnson from Weave
When: Wednesdays, 11.30am - 12.30pm
Where: 3255 Merrill Engineering Building (MEB)
Testimonials
- To have a comprehensive view of both the fundamental concepts as well as the practice of software design and development
- To demonstrate mastery of software design and development, specifically, to be able to write secure, reliable and robust code
- To be able to apply software skills to different application areas
- To demonstrate critical thinking skills transcending specific software languages or applications
- To be able to work as members of, and also be able to lead, teams for software design and development
Faculty – Current Instructors

Ben Jones
Program Associate Director
Assistant Professor (Lecturer)
School of Computing

Varun Shankar
Assistant Professor (Lecturer)
School of Computing

Matthew Flatt
Program Director
Professor
School of Computing
Faculty – Contributors and Past Instructors

Sneha Kasera
Program Founder
Professor
School of Computing

Mike Kirby
Professor
School of Computing

John Regehr
Professor
School of Computing

Zvonimir Rakamaric
Associate Professor
School of Computing

David E. Johnson
Associate Professor
(Lecturer)
School of Computing

Daniel Kopta
Assistant Professor
(Lecturer)
School of Computing
Virtual Information Sessions:
Thursday, Jan. 21, 2021 | 5:00PM MST
Tuesday, Feb. 16, 2021 | 6:00PM MST
*Please email Leslie@cs.utah.edu to register*
Contact Us!
For more information, contact msd@cs.utah.edu or (801) 581-7631 or use the form below.