Carnegie Mellon University

Engineer the Future of Information Networking

This advanced, specialized curriculum combines computer science, electrical and computer engineering, software engineering and information systems.

Through the Master of Science in Information Networking (MSIN), you will develop deep technical knowledge that enables you to design and implement networked, software and distributed systems and services while considering the limitations and opportunities of their applications. MSIN graduates are contextual engineers equipped with business and policy insights that allow them to thrive in their careers.  

The MSIN is the INI’s flagship degree program. Founded in 1989, this unique degree was one of the first to combine the disciplines of computer science with communications engineering. Over 30 years later, this program continues to provide the foundation of systems and network courses at the INI.

Outcomes

internship.png

InternshipStudents gain real-world experience by interning at government agencies, major companies and startups.

Top Companies: Amazon; NVIDIA; Apple

Top Role: Software Engineer Intern

Average Hourly Wage: $54

early-career.png

First-Destination Career

New graduates go on to hold positions in industry, government and academia.

Top Companies: Apple; Oracle; Adobe

Top Roles: Software Engineer; Software Developer; Backend Software Engineer

Average Salary: $136,736

long-term-career.png

Long-Term Career

MSIN alumni become trusted leaders across the technology industry and government.

Currently, MSIN alumni serve as:

  • Vice President of Engineering at Qualcomm
  • Information Systems Officer at the United Nations
  • CEO and Co-Founder of Staris AI

Specialize Your Curriculum

The majority of the curriculum focuses on building core skills in systems engineering, information security, software engineering and networking fundamentals, in addition to interdisciplinary courses in business, management and academic and professional development. 

You can specialize your curriculum through program electives that make up roughly one third of your required courses. These electives can be fulfilled by courses at the INI like Applied Information Assurance or Wireless Protocols and Standards for IoT, or through top-ranked departments across Carnegie Mellon. 

Learning Outcomes

  • Demonstrate advanced knowledge of computer networking concepts and challenges.
  • Design and implement networked, software and distributed systems technologies.
  • Apply design and development prinicples to the construction of complex, low-level software systems.
  • Evaluate trade-offs involving technology, business, economic and management principles in network and software systems.

Explore MSIN Courses

The MSIN core curriculum includes courses in systems engineering, information networking, security engineering and business and policy. These three courses are designed and taught by INI faculty, providing fundamental knowledge on the theory and applications of information networking.

The primary objective of this course is for you to learn the fundamental principles underlying computer networks. Using a top-down approach, we will cover topics in the Application Layer (e.g., HTTP), Transport Layer (TCP and UDP), Network Layer (IP) and Data Link Layer (e.g., Ethernet) of the TCP/IP protocol stack. We will also go over advanced topics, including network management, traffic engineering and router internals. Besides learning about the nuts and bolts, you will gain an understanding as well in engineering tradeoffs made and design principles used in computer networks. In successfully completing this course, you will have the opportunity to describe networks and their components using the correct terminology and understanding the design principles. You will have the opportunity to have hands-on experience with a Network testbed and Linux-based network analysis tools. In addition, you will be able to analyze computer network protocols in a (simulated) real-world network using Wireshark.
This practical, hands-on course introduces you to the basic building blocks and the underlying scientific principles of embedded systems. The course covers both the hardware and software aspects of embedded processor architectures, along with operating system fundamentals, such as virtual memory, concurrency, task scheduling and synchronization. Through a series of laboratory projects involving state-of-the-art processors, you will learn to understand implementation details, how to write assembly-language and C programs that implement core embedded OS functionality and control/debug features such as timers, interrupts, serial communications, flash memory, device drivers and other components used in typical embedded applications.
This course explores both foundational and contemporary topics in distributed systems, such as communication, coordinating time, synchronization, consensus, the impossibility of agreement, replica management, file systems, distributed SQL and noSQL databases, CAP, ACID, BASE, distributed hashing, anonymous communication, models of computation and higher-level tools. The course project work focuses on the implementation of scalable, fault-tolerant distributed systems.