Northeastern University’s Master of Science in Computer Science curriculum builds on its students’ strengths in fundamental areas, including programming, mathematics, engineering, teamwork, design skills, and more. The MSCS curriculum was updated in 2021, offering more autonomy for incoming students to design an academic path that supports their professional interests and goals while gaining fundamental CS knowledge broadly applicable to any tech career.
You’ll find classes that’ll help you develop in-demand skills and courses that explore more theoretical and academic areas. By the end of our master’s in computer science program, you’ll have the ability to:
- Understand platforms such as distributed systems and cloud-based systems.
- Learn the intricacies and mechanisms of how a computer works.
- Build advanced web-based systems and mobile apps.
- Master the design, implementation, and testing of software.
- Demonstrate strong collaboration and team-building skills.
- Apply algorithmic and theoretical computer science principles to solve computing problems.
- Obtain specialization in key emerging computer science fields.
- Communicate computer science concepts, designs, and solutions effectively.
- Implement the solution of a computing problem using appropriate programming languages.
With your master’s degree, you’ll be prepared to chart a bold future in computer science. Keep reading to discover all the ways Notheastern’s curriculum can help you make it happen.
Download Our Free Guide to Breaking into Computer Science
Whether you have a technical or non-technical background, here’s what you need to know.
Core Computer Science Courses
At Northeastern, each core course is designed to broaden and deepen your understanding of computer science. You’ll benefit from the small class sizes, collaborating with renowned faculty members, and working with leading companies from around the world.
A cumulative 3.0 GPA is required for the two core courses of the MSCS program:
Programming (CS 5010): This core course introduces students to modern program design paradigms. In this course, students begin by learning the notion of a design recipe. Both a task-oriented and a data-oriented approach to the organization of programs are explored. This course will ground students in practices that are common in industry by enabling them to practice pair programming and public code review techniques.
Algorithms (CS 5800): This core course presents students with the mathematical techniques used for the design and analysis of computer algorithms. By focusing on algorithmic design paradigms and techniques for analyzing the complexity of algorithms, students will build a strong foundation in logical thinking and problem-solving.
Computer Science Breadth Areas
Northeastern’s program explores both the principles of computing and the many ways these principles are applied to various roles in the computer science discipline. In addition to the core, the MSCS curriculum offers three breadth areas—modeled after our PhD program—that enable students to gain a wider range of specialized skills, thus preparing them to work in many roles. Students must take three courses from at least two breadth areas during their studies.
These breadth areas include:
- Systems and software
- Theory and Security
- Artificial Intelligence and Data Science
Systems and Software
This breadth area builds on the use of software to solve practical problems. Students will gain broad experiences and knowledge in software engineering processes, system-level programming, programming languages, and compilers. You can choose where you want to build your skills, like writing a small compiler, or designing a web experiment that illustrates web technologies.
- CS 5400: Principles of Programming Languages
- CS 5500: Foundations of Software Engineering
- CS 5520: Mobile Application Development
- CS 5600: Computer Systems
- CS 5610: Web Development
- CS 5700: Fundamentals of Computer Networking
- CS 6410: Compilers
- CS 6510: Advanced Software Development
- CS 6650: Building Scalable Distributed Systems
- CS 6710: Wireless Network
Theory and Security
This breadth area allows students to gain a strong foundation in the theory of computation and systems security issues. By taking courses focused on security vulnerabilities in software, privacy, and cryptography, students will understand the pervasiveness of security in computer science.
- CS 6760: Privacy, Security, and Usability
- CS 7805: Theory of Computation
- CS 7810: Foundations of Cryptography
- CY 5770: Software Vulnerabilities and Security
- CY 6740: Network Security
- CY 6750: Cryptography and Communications Security
Artificial Intelligence and Data Science
As a growing field, the Artificial Intelligence and Data Science breadth area introduces students to the fundamental problems, theories, and algorithms of artificial intelligence, while presenting techniques in machine learning and data mining. Students can take courses focused on the collection of data, gathering information from data for a variety of applications including games and natural language processing. From mining useful knowledge from a large data set to exploring artificial intelligence for games—the choice is yours.
- CS 5100: Foundations of Artificial Intelligence
- CS 5150: Game Artificial Intelligence
- CS 5200: Database Management Systems
- CS 6120: Natural Language Processing
- CS 6140: Machine Learning
- CS 6200: Information Retrieval
- CS 6220: Data Mining Techniques
- CS 6240: Large-Scale Parallel Data Processing
- CS 7140: Advanced Machine Learning
3 Ways Computer Science Electives Help Set You Apart
Northeastern’s computer science curriculum offers an array of elective courses to help you shape a unique learning experience. Students in the MSCS program must take three elective courses that can help amplify their academic journey in several ways:
- They help you explore your career interests. While every degree program has specific requirements, electives allow you to test the waters outside your primary area of focus. As a result, you gain a new perspective, diversify your academic background, and enhance your college experience.
- They provide you with a broader education. Electives deepen your knowledge and help you build a strong resumé that shows future employers your willingness and penchant for learning.
- They help graduates stand out in a sea of job applicants. Employers hire employees from diverse backgrounds. The more knowledge, experience, and skills you have under your belt, the brighter your future will be.
Experiential Learning in Northeastern’s MSCS Program
Experience is at the heart of our computer science master’s program. Powered by our longstanding partnerships with 3,500+ global employer partners, experiential learning enables you to explore your interests, find your passion, and acquire the skills and knowledge you need for future success.
We combine rigorous academics with immersive, authentic experiences to allow and encourage an in-depth, applied understanding. Through unique graduate-level projects, you’ll take on practical responsibility and solve a real-world business need for an employer partner or even your own organization. These projects allow you to gain industry connections and industry-specific problem-solving skills—without having to leave the classroom. Some of our experiential opportunities include:
- Experiential Network (XN): Work with sponsors on short-term projects in an authentic business environment.
- Experiential learning at work: Develop customized project plans with your employer to gain the right experience.
- In-class case studies: Emulate real-world examples and exercises related to your field.
No matter which direction your academic journey takes you, you’ll receive endless support. From co-op and academic advisors to the entire Northeastern community, you’ll get the guidance and support you need to blaze your trail. As your goals and passions evolve, your advisors will help you adjust your learning path to match your growing interests.
Learn More: How Hard is it to Get a Computer Science Degree?
Computer Science Master’s Optional Thesis
In Northeastern’s MS in CS program, you have the opportunity to pursue empirical research on a focused topic that goes beyond a class project or internship. The research may take root in a course or during a research assistantship in one of our labs. These students typically decide to do a master’s thesis in order to consolidate and disseminate their knowledge.
The master’s thesis consists of eight semester hours of research, culminating in the MS thesis. You’ll work closely with an academic and a thesis advisor throughout the process.
Take the Next Step
For information on specific program courses, including electives and thesis options, explore the course catalog. To learn more about more general steps to advance your computer science career, download our free guide below.
Editor’s note: This curriculum is for marketing purposes only and is subject to change. The official curriculum can be found within the course catalog.