Online MS in Computer Science Curriculum Overview
The Tufts online Master’s in Computer Science program offers a cutting-edge curriculum that spans disciplines and equips 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.
Rigorous Computer Science Courses
Tufts fosters a culture of academic rigor and inspired scholarship. Our MS in Computer Science program offers challenging courses designed to build confidence in computer science—and beyond.
Foundational Knowledge
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 types of computer software and developing next-level implementation skills.
Coursework Overview
The MS in Computer Science degree requires a minimum of 30 credits and a minimum of 10 courses. In addition to the four core requirements, students can take electives and an optional Capstone. Students have the flexibility of taking ten standard courses or completing eight standard courses and a two-course Capstone.
We continually update and revise Tufts’ computer science courses to ensure our students remain up to date with the most current innovations in the field throughout their time in the program.
Course Curriculum
Core Requirements
3 Credits
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.
Or
3 Credits
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.
3 Credits
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.
4 Credits
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.
3 Credits
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.
Four to Six Electives
3 Credits
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.
Or
3 Credits
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.
3 Credits
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.
3 Credits
This course introduces the latest techniques and infrastructures developed for big data, including parallel and distributed database systems, map-reduce infrastructures, scalable platforms for complex data types, stream processing systems, and cloud-based computing. The course content will be a blend of theory, algorithms, and practical work.
3 credits
This course will discuss the limits of current web technologies, the similarities and differences between web and software engineering, design, information and service architectures, content management, and testing disciplines. Frameworks such as Rails, Spring, and Symfony will be emphasized and used. Projects will involve search, cloud computing, location-based services, and mobile web development.
3 Credits
Learn the history, theory, and computational methods of artificial intelligence. Basic concepts include representation of knowledge and computational methods for reasoning. One or two application areas will be studied, to be selected from expert systems, robotics, computer vision, natural language understanding, and planning.
3 Credits
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.
3 Credits
This course will focus on agents that must learn, plan, and act in complex, non-deterministic environments. We will cover the main theory and approaches of reinforcement learning (RL), along with common software libraries and packages used to implement and test RL algorithms. The course is a graduate seminar with assigned readings and discussions. The content of the course will be guided in part by the interests of the students. It will cover at least the first several chapters of the course textbook. Beyond that, we will move to more advanced and recent readings from the field (e.g., transfer learning and deep RL) with an aim towards focusing on the practical successes and challenges relating to reinforcement learning.
Capstone
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.
In addition to these courses, students have the option to take Electrical Engineering 104 and Math 166 from the Data Science program, as well as other Tufts courses that are offered intermittently online. If one interests you and is available online, you can talk to your advisor about implementing it into your personal curriculum. Note: Courses must be numbered 100 or higher and contribute to a master’s in a technical field, and must be approved by the student’s advisor.
Request Information