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.
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.
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.
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.
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.
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.
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.
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.
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.