Important Dates
June 1
Priority Fall Application Deadline
July 15
Final Fall Application Deadline
October 1
Priority Spring Application Deadline
November 15
Final Spring Application Deadline
Who Should Apply
This program is intended for students with a solid background in computer science and mathematics. An undergraduate degree in computer science equivalent to the one offered by UMass Amherst is ideal preparation, but by no means required. At a minimum, students should have taken courses equivalent to those listed below or have relevant work experience that developed the same skills. Individual graduate courses may have greater expectations. We recommend that students check descriptions of courses they are interested in for their prerequisites. Applicants are encouraged to detail all relevant work and educational experiences in their personal statements.
COMPSCI 121 Introduction to Problem Solving with Computers
COMPSCI 121 provides an introduction to problem solving and computer programming using the programming language Java. The course teaches how real-world problems can be solved computationally using the object-oriented metaphor that underlies Java. Concepts and techniques covered include data types, expressions, objects, methods, top-down program design, program testing and debugging, state representation, interactive programs, data abstraction, conditionals, iteration, interfaces, inheritance, polymorphism, arrays, graphics, and GUIs.
COMPSCI 187 Programming with Data Structures
The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to build and encapsulate data objects and their associated operations. Specific topics include linked structures, recursive structures and algorithms, binary trees, balanced trees, and hash tables. These topics are fundamental to programming and are essential to other courses in computer science.
COMPSCI 187 Programming with Data Structures
The course introduces and develops methods for designing and implementing abstract data types using the Java programming language. The main focus is on how to build and encapsulate data objects and their associated operations. Specific topics include linked structures, recursive structures and algorithms, binary trees, balanced trees, and hash tables. These topics are fundamental to programming and are essential to other courses in computer science.
COMPSCI 220 Programming Methodology
Development of individual skills necessary for designing, implementing, testing and modifying larger programs, including: use of integrated design environments, design strategies and patterns, testing, working with large code bases and libraries, code refactoring, and use of debuggers and tools for version control.
COMPSCI 230 Computer Systems Principles
Large-scale software systems like Google - deployed over a world-wide network of hundreds of thousands of computers - have become a part of our lives. These are systems success stories - they are reliable, available ("up" nearly all the time), handle an unbelievable amount of load from users around the world, yet provide virtually instantaneous results. On the other hand, many computer systems don't perform nearly as well as Google - hence the now-cliche "the system is down." In this class, we study the scientific principles behind the construction of high-performance, scalable systems. The course begins with a discussion of C language, and moves up the stack from there to the features of modern architectures, assembly languages, and operating system services such as I/O and synchronization.
COMPSCI 250 Introduction to Computation
Basic concepts of discrete mathematics useful to computer science: set theory, strings and formal languages, propositional and predicate calculus, relations and functions, basic number theory. Induction and recursion: interplay of inductive definition, inductive proof, and recursive algorithms. Graphs, trees, and search. Finite-state machines, regular languages, nondeterministic finite automata, Kleene's Theorem.
MATH 131 Calculus I
This course covers continuity, limits, and the derivative for algebraic, trigonometric, logarithmic, exponential, and inverse functions. Those concepts have applications to physics, chemistry, and engineering.
MATH 132 Calculus II
Math 132 continues the study of single-variable calculus which covers the definite integral, techniques of integration, and applications to physics, chemistry, and engineering. Sequences, series, and power series.
MATH 235 Introduction to Linear Algebra
Basic concepts of linear algebra. Matrices, determinants, systems of linear equations, vector spaces, linear transformations, and eigenvalues.
MATH 233 Multivariate Calculus or STATS 515 Statistics I
Math 233 is the third semester of the calculus sequence. It develops the extension of single-variable calculus to functions of several variables. In particular, it covers vectors in two- and three-dimensional space, partial derivatives, double and triple integrals, line integrals, and surface integrals. The culmination of the course is the generalization of the fundamental theorem of calculus: Green’s theorem, Stokes’s theorem, and the Divergence Theorem.
STAT 515 provides a calculus based introduction to probability (an emphasis on probabilistic concepts used in statistical modeling). Coverage includes basic axioms of probability, sample spaces, counting rules, conditional probability, independence, random variables (and various associated discrete and continuous distributions), expectation, variance, covariance and correlation, probability inequalities, the central limit theorem, the Poisson approximation and sampling distributions.
Application Materials & Instructions
Applications are handled through the UMass Amherst Graduate School . All materials should be sent to the Graduate Admissions Office only. For questions on the graduate admissions process, see the Graduate Admissions website .
To apply, you must submit:
Submission of GRE scores is optional for the MS program. Choosing not to submit GRE scores will not harm an applicant's chances of admission.
For more detailed information, visit the Graduate Application Instructions page .
Tuition & Fees 2022-2023
$779 / credit
30 credits
Total cost = $23,370
UMass Amherst alumni receive a 10% discount.
Some employers offer tuition reimbursement. Check with your employer to see if they have a tuition reimbursement program.