UMass Boston’s computer science master’s program thoroughly prepares students for a professional career in software development. This established and innovative program stresses the integration of theoretical knowledge with practical applications. Our Computer Science MS graduates are in high demand with major tech sector employers and startups. We invite you to learn more by joining our email list.

Degree Requirements

Candidates for the degree complete a minimum of 30 credits, at least 24 of which must be in courses numbered 600 or above.

Object-Oriented Software Development I and II (CS680 and CS681), including Software Development Laboratory (CS682) are required courses and carry a total of 9 credits. Students must take this sequence during the final part of their coursework. We also require that students choose two theoretical electives and five applied electives from among the following courses:

Theoretical Electives:

CS620: Theory of Computation

CS622: Theory of Formal languages

CS624: Analysis of Algorithms

CS420: Introduction to the Theory of Computation

CS720: Logical Foundations in Computer Science

CS724: Topics in Algorithm Theory and Design

MATH470: Mathematical Logic

Applied Electives:

CS612: Algorithms in Bioinformatics

CS615: User Interface Design

CS630: Database Management Systems

CS634: Architecture of Database Systems

CS636: Database Application Development

CS637: Database-Backed Web Sites and Web Services

CS638: Applied Machine Learning

CS642: Cybersecurity in the Internet of Things

CS646: Computer Communication Networks

CS648: Wireless Networks and Mobile Computing

CS651: Compilers

CS670: Artificial Intelligence

CS671: Machine Learning

CS675: Computer Vision

CS752: Parallel Programming

These following undergraduate courses:

CS410: Introduction to Software Engineering

CS411: Competitive Programming

CS433: Big Data Analytics

CS443: Mobile Applications

CS449: Introduction to Computer Security

CS450: The Structure of Higher Level Languages

CS460: Graphics

CS461: Computer Games Programming

No more than two upper-level undergraduate courses may be used for graduate credit in the MS program. Upper-level undergraduate courses are undergraduate courses at the 400 level mentioned in one of the previous lists. CS210L, CS240, and CS310 are general prerequisites for all graduate courses.

Capstone Requirement

To complete the MS program students must participate in a software development project by taking the software development sequence (CS680, CS681, and CS682). In general, this sequence is taken during the last two semesters in the MS program. The project is approved by a committee that consists of two faculty members (professors who are currently teaching the software development course and supervise the software development laboratory) and the Graduate Program Director.

In exceptional circumstances, students with significant industrial experience may request a waiver of the software development requirement by applying to a faculty committee established for this purpose. As a part of the waiver application, the student must present a portfolio demonstrating the nature of this experience. Students who receive a waiver will be required to complete an MS thesis.