Online MS in Computer Science Curriculum Overview
The Tufts online MS in Computer Science program offers a cutting-edge curriculum that spans disciplines and is designed to provide students with the core principles, fundamental concepts, and key theories needed to successfully generate computer science solutions in the field. The curriculum is delivered 100% online and can be completed in less than two years.
At Your Own Pace
Each week, students complete self-paced online learning modules led by Tufts world-class faculty in preparation for regular online, face-to-face class sessions. Students also have the opportunity to meet with their professors during online office hours.
Tufts fosters a culture of academic rigor and inspired scholarship. Our MS in Computer Science program offers challenging courses that are designed to build confidence in computer science—and beyond.
The program provides a foundation in both computer science theory and programming practice. Students are exposed to challenges and research problems that involve creating new kinds of computer software and developing next-level implementation skills.
The program is comprised of 10 courses—including a two-course Capstone Project—for a total of 33 credit hours. We continually update and revise our course content to ensure our students remain up-to-date with the most current computer science innovations throughout their time in the program.
CS 105 Programming Languages
Learn the principles and application of computer programming languages, with an emphasis on the ideas and techniques most relevant to practitioners. The course explores abstract syntax, lambda calculus, type systems, and dynamic semantics.
CS 111 Operating Systems
Analyze the fundamental issues in operating system design, including concurrent processes such as synchronizations, sharing, deadlock, and scheduling. Examine the relevant hardware properties of uniprocessor and multiprocessor computer systems.
CS 115 Database Systems
Explore the fundamental concepts of database management systems, including data models, SQL query language, implementation techniques, the management of unstructured and semi-structured data, and scientific data collections.
CS 116 Introduction to Security
Delve into the fundamentals of cybersecurity, including attacking and defending networks, searching for vulnerabilities, cryptography, reverse engineering, web security, static and dynamic analysis, malware, and forensics. Hands-on labs and projects are included.
CS 121 Software Engineering
Examine core principles and ideas that enable the development of large-scale software systems, with a focus on programming. Explore abstraction, modularity, design patterns, specification, testing, verification, and debugging.
CS 135 Introduction to Machine Learning
Investigate the methods that computers can use to learn from data or experience and make corresponding decisions. Topics explored include supervised and unsupervised learning, reinforcement learning, and knowledge extraction with applications to science, engineering, and medicine.
CS 160 Algorithms
In this introduction to the study of algorithms, explore strategies that include divide-and-conquer, greedy methods, and dynamic programming. Delve into graph algorithms, sorting, searching, integer arithmetic, hashing, and NP-complete problems.
CS 170 Computation Theory
Study models of computation that include Turing machines, pushdown automata, and finite automata. Learn grammars and formal languages, such as context-free and regular set. Better understand important problems, including language equivalence theorems and the halting problem.
6 Credits (3 per semester)
In this two-course, hands-on, culminating project for the program, students demonstrate what they’ve learned via project planning, design, implementation, testing, and presentation of their projects to faculty and peers.