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.

**MSD Information Session from 4-5:30pm on Wednesday, April 10th at the Silicon Slopes Headquarters, 2600 Executive Pkwy, Suite 140, Lehi, Utah 84003.**


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.

"Employment of software developers is projected to grow 24 percent from 2016 to 2026, much faster than the average for all occupations. "
- U.S. Bureau of Labor Statistics

Why the MSD program might be right for you

desktop_mac

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.

business_center

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.

school

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.

people

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

Application Deadline:

April 1st 2019, Fee $30 for Domestic Applicants March 15th 2019, Fee $45 For International Applicants  

Program Acceptance

We will be offering rolling admissions. We encourage students with little to no computer science or related backgrounds to apply. Applicants to the program must demonstrate problem-solving skills and the ability to reason mathematically and logically through undergraduate or higher-level courses in one or more of the following: Calculus, Probability Theory, or Statistics (examples of courses at the University of Utah that satisfy this requirement would include MATH 1100, 1170, 1210, ECON 3620, 3640, or PSY 3000).

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 requirement is for international applicants only. There are no minimum GRE scores required for application. Applicants are encouraged to meet overall program GRE averages, but all application materials are evaluated to determine the strength of the application.
  • 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

CoursesScheduleCostLiving in SLCLocal IndustryTestimonialsFAQ
The duration of the MSD program is 16 months (Fall/Spring/Summer/ Fall) involving classroom teaching and extensive lab and project experiences. The MSD program will use active-learning and project-oriented approaches to equip students with tools and perspectives for problem solving while honing their critical-thinking skills that transcend specific software languages or applications. All MSD students are required to take the following courses (4 credit hours each).

Fall (Year 1)

Introduction to Software Development
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.
Computer Programming
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.
Data Structures and Algorithms
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)

Systems 1 (Computer Arch + Operating Systems)
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.
Systems 2 (Computer Networks + Security)
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.
Software Engineering
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)

Database Systems and Applications
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.
Data Analytics and Visualization
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)

Application System Design
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).
Master of Software Development Project
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.

Tentative for Fall 2018

Monday Tuesday Wednesday Thursday Friday
8:30 Lecture Lecture Lecture Lecture Lecture
9:00
9:30 Lecture Lab Lab Lecture Lecture
10:00
10:30 Lab Group Assignment Lab Group Assignment TA Assisted Lab
11:00
11:30 TA Assisted Lab TA Assisted Lab
12:00
12:30 Done Done Done Done Done
Cost of the entire MSD program (Fall/Spring/Summer/Fall):
  • $39,897.60 for Residents
  • $54,259.96 for Non-residents
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.
There’s a plethora of reasons why people are flocking to Utah to both work and play. From the rugged snow-capped Rocky Mountains that are home to some of the best skiing and hiking in the world to the heavenly landscapes of five national parks, Utah’s scenery is an outdoor recreationalist’s dream. Meanwhile, Utah and the stunning Salt Lake Valley are also the center of robust economic growth with one of the fastest-growing technology sectors in the country. Don’t believe us? Utah and Salt Lake City have both received national accolades in recent years.

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

Coming Soon!

 

 

Testimonials

“After completing the program I was offered a dream job.”
Sydney Sturgeon, Symantec

“If you are not satisfied in your current career and you are interested in software development, look into this program.”
Bill Aldrich, Symantec

“I got a job working for Microsoft because of what I learned in the MSD program”
Junchen Zhang, Microsoft
Is the MSD program online or in-person?
The MSD program is not an online program. It is an in-person program. Students are expected to be at the U of U for about 20 hours a week.
What is the expected load?
MSD students are expected to spend 35-40 hours per week that includes classroom and lab times.
Are the classes held during evenings/weekends?
No. The classes will be held during regular business hours. Please check out the Fall 2018 schedule.
Are there any scholarships associated with the MSD program?
There are no scholarships or assistantships specifically tied to the MSD program. However, the MSD students should consider checking out the University of Utah’s Office of Scholarships and Financial Aid office at https://financialaid.utah.edu/ for any financial assistance they might be eligible for.
Could one be admitted to the MSD program in the Spring semester?
No. Currently, the MSD program allows Fall admissions only.
How should the MSD fees be paid?
The MSD fees must be paid in four equal installments.
How is the MSD program at the School of Computing different from its MS programs in Computer Science or Computing?
The MSD program does not require any Computer Science or Computing background or pre-requisite courses. Very importantly, it focuses on preparing students for software development jobs in industry. Our MS programs generally prepare students for both industry and research in computer science/computing. The MSD learning outcomes are as follows:
  • 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
How is the MSD program different from the MSIS program in the School of Business?
The School of Business at the University of Utah offers an MSIS and graduate certificate in Information Systems. The MSIS and graduate certificate in Information Systems programs are intended to prepare students for business careers where an understanding of technology is of financial and strategic value to a firm. The MSIS program focuses on producing information systems executives, analysts and specialists with business management skills to align information technology with business strategy. The MSD degree offered by the School of Computing will produce high quality software engineers by focusing on teaching hard software design and development skills. The courses in MSIS and MSD, even with similar sounding names, thus have different content.
What does the MSD tuition cover?
Cost of the entire MSD program (Fall/Spring/Summer/Fall) for students admitted in Fall 2017:
  • $38,400 for Residents
  • $54,400 for Non-residents
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.
How is my degree labeled?
Master of Software Development

Faculty

Sneha

Sneha Kumar Kasera

Program Director
Professor
School of Computing

Kirby

Mike Kirby

Professor
School of Computing

Regehr

John Regehr

Professor
School of Computing


Rakamaric

Zvonimir Rakamaric

Assistant Professor
School of Computing

Johnson

David E. Johnson

Assistant Professor
(Lecturer)
School of Computing

Jones

Ben Jones

Assistant Professor
(Lecturer)
School of Computing

Rakamaric

Daniel Kopta

Assistant Professor
(Lecturer)
School of Computing

Contact Us!

For more information, contact program director Sneha Kumar Kasera at kasera@cs.utah.edu or (801) 581-4541 or use the form below.

Contact Us
Sending