12-Course MS Specialization Program

The 12-course Masters Program is for students seeking further specialization beyond our regular 9-course program.

Students in the 12-course program can choose from one of the following four specializations:

  • Software Engineering
  • High Performance Computing
  • Data Analytics
  • Mobile Computing

Students in the 12-course program will have the following degree requirements:

1.  Complete 6 core courses (OR 5 core courses + 4 specialization courses)

  • (1) Algorithms course
  • (1) Programming course (Please note, students cannot take more than one (1) Core Programming class)
  • (3) Computer Systems, Networks and Architectures courses
  • (1) Additional Algorithms or Computer Systems, Networks and Architectures core course, or a practicum course.

Courses that satisfy each core area:


  • MPCS 55001 Algorithms
  • MPCS 55003 Intermediate Algorithms
  • MPCS 55005 Advanced Algorithms


  • MPCS 51036 Java Programming
  • MPCS 51040 C Programming
  • MPCS 51042 Python Programming
  • MPCS 51043 Swift Programming
  • MPCS 51100 Advanced Programming

Computer Systems, Networks and Architecture:

  • MPCS 53001 Databases
  • MPCS 53003 Advanced Databases
  • MPCS 52011 Introduction to Computer Systems
  • MPCS 51300 Compilers
  • MPCS 54001 Networks
  • MPCS 51020 Computer Architecture
  • MPCS 51400 Functional Programming
  • MPCS 52030 Operating Systems
  • MPCS 52040 Distributed Systems

2.  Complete three (3) specialization courses (OR 5 core courses + 4 specialization courses):

Software Engineering

  • MPCS 51030 iOS Application Development
  • MPCS 51240 Product Management
  • MPCS 51230 User Interface and User Experience Design
  • MPCS 51200 Introduction to Software Engineering
  • MPCS 51044 C++ for Advanced Programmers
  • MPCS 51410 Object Oriented Programming
  • MPCS 51050 OO Architecture: Patterns, Technologies, Implementations
  • MPCS 51031 Android App Development
  • MPCS 51220 Applied Software Engineering
  • MPCS 51221 Applied Software Engineering II
  • MPCS 52553 Web Development

High Performance Computing

  • MPCS 55005 Advanced Algorithms
  • MPCS 58001 Numerical Methods
  • MPCS 51087 High Performance Computing
  • MPCS 51083 Cloud Computing
  • MPCS 56420 Bioinformatics for Computer Scientists
  • MPCS 58020 Time Series Analysis and Stochastic Processes

Data Analytics

  • MPCS 51083 Cloud Computing
  • MPCS 53110 Foundations of Computational Data Analysis
  • MPCS 53003 Advanced Databases
  • MPCS 53013 Big Data
  • MPCS 53111 Machine Learning
  • MPCS 53112 Advanced Data Analytics
  • MPCS 53120 Applied Data Analysis
  • MPCS 56420 Bioinformatics for Computer Scientists

Mobile Computing

  • MPCS 51030 iOS Application Development
  • MPCS 51031 Android Application Development
  • MPCS 51032 Advanced iOS
  • MPCS 51033 Backends for Mobile Applications
  • MPCS 51230 User Interface and User Experience Design
  • MPCS 51034 React Native Application Development

3.  Complete three (3) elective courses.

4.  No double counting of classes.  No course may fulfill more than one requirement.

Request for 4th Specialization course
If you would like to take a 4th specialization course in place of a 6th core class, you will need to fill out the Request for 4th Specialization Course Form before registering for your fourth specialization course.

Please note that this form will require that you specify the fourth specialization class you intend to take. Before submitting your request, you should make sure that your course planning will work regardless of whether this request is approved. Please note that approval will be contingent on the student being in good academic standing.

As part of the 12-course program, we expect all full-time students to participate in an internship for the summer quarter.  This internship will give students the opportunity to put the skills they are learning in the classroom into practice in the workplace.  This will help build student's resumes and provide them with work or research experience.  Students can find internship opportunites both internal and external to the University.

International Students
For international students in the 12-course program, the summer internship will be considered degree required Curricular Practical Training (CPT).  Please contact the University's Office of International Affairs for specific CPT questions.