Mastering the Digital Age
Join Utah’s only graduate program in software development that’s geared specifically for those with no computer science background — from the Kahlert School of Computing at the University of Utah.
The Master of Software Development (MSD) is a comprehensive and rigorous 16-month* STEM program producing capable coders, big data analysts, computer security professionals, and more for graduates looking to carve out a new career path. It’s the perfect next step for those with no CS background who want to enhance their careers by learning software development.
*20 month option available by postponing the MSD Capstone to Spring(2) and taking courses outside of the MSD program.
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 STEM 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 Kahlert 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
Deadline for domestic and international applicants: March 15, 2025.
Review of applications received early begins: January 1, 2025
Earliest decisions: February 1, 2025
Latest decisions for on-time applications: April 15, 2025
Late applications may be considered if space is available. The application requirements and process are the same for the MSD and Programming Certificate programs.
Domestic Applicant Fee: $55, International Applicant Fee: $65
Apply Here
Program Acceptance
Admitted students choose in the second semester whether to enroll in just the Programming Certificate class or continue with the full MSD coursework.
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. -
Optional: 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 80 on the TOEFL (Test of English as a Foreign Language) iBT exam, 6.5 on the IELTS exam, or 110 on Duolingo.
Needed for Application
-
Kahlert 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 – Divide and Conquer, Dynamic Programming, and Network flow; (v) NP completeness; (vi) Approximations; (vii) Randomization.Spring (Year 1)
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.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.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 Capstone Project
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. ORCS 6800 Capstone Internship
Students will apply their knowledge of software development to specific applications while working with a local industry or institutional partner. As a result of real-world, practical experience, students will acquire deeper knowledge in the domains that they choose to work in. As part of the course, students produce a written report and oral presentation.The Software Development Systems & Data Certificate is an 8-month program that corresponds to the spring and summer semester (8 credits per semester). Requirements listed here.
Spring: Monday-Friday 9am-11:20am (with CS 6015 on Tuesdays and Thursdays) and the Industry Seminar once a week
Summer: Tuesday-Thursday 8:30-11:30am
Fall 2: Tuesday/Wednesday/Thursday 8:30-11:30am
Resident: $41,203.92
Non-Resident: $57,472.48
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.
Tuition and Fees Schedule linked here
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
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
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.