Software Systems Development

Software Systems Development students join one of the fastest-growing professions in technology today. Learn how to design, build, and test systems programs in C and C++ under the guidance of our dedicated faculty in the Department of Computer Science.

Fingers typing on a keyboard
  • Degree Offerings
  • Faculty
  • Application Requirements
  • Contact the Department

Apply Now

Request Information

Questions about your application?

Contact us:

Office of Graduate Admissions
Bendetson Hall
Medford, MA 02155
(617) 627-3395
gradadmissions@tufts.edu

Software Systems Development (M.S.)

Tufts provides software system developers with the skills needed to design, build, and test systems programs. Students work closely with faculty to explore real client projects and problems that need to be solved in industry today. Choose between thesis and non-thesis degree options to best fit your career goals - the non-thesis program can be completed in as little as one year.

Research areas include:

> Systems programming
> Program security
> Data management
> Performance analysis
> Software development

Dual Degree Master's Program (with Tufts Gordon Institute)

Develop your innovation, leadership and management skills and build your technical depth with the Dual Degree Master's Program. You’ll earn two degrees: an M.S. offered by the Department of Computer Science, and an M.S. Innovation & Management (MSIM). You earn both degrees in an accelerated time frame (as little as two years) and at a reduced cost. Contact tgi@tufts.edu for more information.

M.S. Curriculum:

The Department of Computer Science offers a Master of Science in Software Systems Development that can be completed on a full-time or part-time schedule. The Master of Science degree requires a minimum of 30 semester-hour units (SHUs) and the fulfillment of at least 10 courses; all courses must be at the 100 level or above.

Students must complete the following courses:

COMP 111: Operating Systems
COMP 116: Security
COMP 180: Software Engineering

One or more of the following courses:

COMP 112: Networks
COMP 115: Databases
COMP 118: Cloud Computing
COMP 119: Big Data
COMP 120: Web Engineering

As well as elective courses from the following options:

COMP 105: Programming Languages
COMP 117: Internet-scale distributed systems: lessons from the www
COMP 131: Artifical Intelligence
COMP 135: Machine Learning
COMP 139: Ethics of HRI
COMP 140: Advanced Computer Architecture
COMP 156: Special Topics in the Practice of Software Development
COMP 175: Computer Graphics
COMP 177: Visualization

Faculty

Kathleen Fisher
Department Chair and Professor
Ph.D. , Stanford University
Programming Languages
Alva Couch
Associate Professor
Ph.D. , Tufts University
Policy-Based Languages for System and Network Administration, Support Tools for Teaching Hands-On Computer Science
Samuel Guyer
Associate Professor
Ph.D. , University of Texas, Austin
Compiler-Assisted Memory Management
Remco Chang
Associate Professor
Ph.D. , UNC - Charlotte
Visual Analytics, Information Visualization, Computer Graphics, Urban Modeling
Ming Chow
Senior Lecturer
M.S. , Tufts University
Game Development, Online Game Security, Web Application Security, Computer Science Education
Lenore Cowen
Professor
Ph.D. , Massachusetts Institute of Technology
Graph Algorithms, Distributed Algorithms, Approximate Routing, Classification and Clustering For High-Dimensional Data, Coloring and Its Generalizations, Computational Molecular Biology
Ethan Danahy
Research Assistant Professor
Ph.D. , Tufts University
Educational Technology, Collaboration, Robotics, Makerspaces, Hands-on learning, Project-based learning
Jan P. de Ruiter
Professor
Ph.D. , Radboud University, Nijmegen
Philosophy of science, artificial intelligence, inferential statistics, social robotics
Fahad Dogar
Assistant Professor
Ph.D. , Carnegie Mellon
Mobile Computing, Cloud Computing, Internet Architecture and Protocols
Karen Edwards - Lecturer
Karen Edwards
Lecturer
Ph.D , University of California at Berkeley
Low-dimensional geometric topology
Jeffrey Foster - Visiting Professor
Jeffrey Foster
Professor
Ph.D , University of California at Berkeley
Programming languages, Software engineering, Security, System design and development
Soha Hassoun - Professor
Soha Hassoun
Professor
Ph.D , University of Washington
Computational methods for systems biology and metabolic engineering, Computer-aided design for integrated circuits
Michael Hughes - Assistant Professor
Michael Hughes
Ann W. Lambertus and Peter Lambertus Assistant Professor
Ph.D , Brown University
Machine learning, Probabilistic models, Optimization, Clinical informatics
Robert J. K. Jacob
Professor
Ph.D. , Johns Hopkins
Human-Computer Interaction, New Interaction Techniques and Media, Tangible User Interfaces,Virtual Environments, User Interface Software, Information Visualization, Software Engineering
Matias Korman - Visiting Assistant Professor
Matias Korman
Visiting Assistant Professor
Ph.D , Tohoku University
Computational geometry, Efficient algorithms
Susan Landau - Professor
Susan Landau
Professor
Ph.D , Massachusetts Institute of Technology
Cyber security policy, Communications surveillance, Privacy
Liping Liu - Assistant Professor
Liping Liu
Schwartz Family Faculty Development Assistant Professor
Ph.D , Oregon State University
Machine learning, Graphical models, Computational sustainability
Noah Mendelsohn
Professor of the Practice
Distributed Systems, Operating Systems, World Wide Web
Megan Monroe - Lecturer
Megan Monroe
Lecturer
Ph.D , University of Maryland-College Park
Data, Visualization, Language
Norman Ramsey
Associate Professor
Ph.D. , Princeton University
Programming Languages and Systems, Functional Programming, Compiler Construction
Matthias Scheutz - Professor
Matthias Scheutz
Professor and Program Director
Ph.D. , Indiana University
Artificial Intelligence, Artificial Life, Cognitive Modeling, Complex Systems, Foundations of Cognitive Science, Human-Robot Interaction, Multi-scale Agent-based Models, Natural Language Processing
Mark Sheldon
Senior Lecturer
Ph.D. , Massachusetts Institute of Technology
Data Structures, Programming Languages, Software Systems, Software Design
Jivko Sinapov
Jivko Sinapov
James Schmolze Assistant Professor
Ph.D. , Iowa State
Developmental robotics, computational perception, artificial intelligence, machine learning
Donna Slonim
Professor
Ph.D. , Massachusetts Institute of Technology
Algorithms for Mircroarray Data Analysis, Inference of Genetic Regulatory Networks, Interpretation of Biological Experiments in the Context of Genomic and Systems Information
Diane Souvaine
Professor
Ph.D. , Princeton University
Computational Geometry, Design and Analysis of Algorithms, Computational Complexity

Spring: September 15
Fall: December 15

Prerequisites for the program include a bachelor's degree and either formal instruction of practical experience in software development, including programming in some high-level language such as Java, C, C++, C# or J#. For those students possessing high-level language experience in a language other than C or C++, Electrical Engineering 200 is recommended as a preparatory course in C.

Application Requirements:


> Application Fee
> Resume
> Personal Statement
> Official GRE scores

- GRE not required for current Tufts undergraduates

- GRE scores may be waived for part-time students with five years of industry experience who are U.S. citizens or permanent residents. Visit go.tufts.edu/engmasters for complete details. If you believe you are eligible to have the GRE waived based on these requirements, please contact gradadmissions@tufts.edu with the subject line "Engineering part-time Master's GRE requirement"

> Official TOEFL or IELTS, if applicable
> Transcripts
> Three letters of recommendation

Department of Computer Science
Halligan Hall
161 College Avenue
Medford, MA 02155

Office: 617.627.2225
Department Email