Skip to main content
NC State Home

Master of Computer Science

The Master of Computer Science program is a terminal professional degree program. The degree is based on course work. No research, thesis or comprehensive examination is required. MCS students are normally self-supported, and some enroll on a part-time basis. 

Curriculum

A summary of the curriculum requirements for the Master of Computer Science is below:

Requirement Credit Hours
Core courses9
Orientation Course (CSC 600)1
Computer Science graduate electives12
Computer Science graduate electives, or other “restricted” electives9
Total31

Completion of the curriculum requires 31 graduate credits. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation).

At least three courses must be taken from the following list of core courses, one taken from one category, and two taken from the other category:

CSC 720 may be substituted for CSC 520 and CSC 573 may be substituted for CSC 570. Special topics courses (CSC 59x or 79x) may not be used to satisfy core course requirements.

Additional Requirements

  1. At least 21 hours must be in graduate 500- and 700-level Computer Science courses (note: the Graduate School does not allow 500- and 700-level courses to be taken pass-fail).
  2. “Restricted elective” courses may be any graduate letter-graded (500- or 700-level) course within the College of Engineering (including Computer Science), or within the College of Sciences. Exceptions that will *not* count towards graduation:
    • ST 511(if taken after Spring 2014)
    • special topics courses (including EGR 590) in departments other than Computer Science (if taken after Fall 2012).
  3. All Computer Science credits must be at or above the 500 level. 
  4. To graduate, a student must have at least a 3.00 grade point average (GPA). In addition, for students beginning their degree on or after Fall 2013, the GPA in the group of courses used to satisfy the core course requirement must be at least 3.0 as well. For additional Graduate School requirements regarding degree completion see the Graduate School Handbook.
  5. A maximum of four special topics courses (either CSC 591 or CSC 791) may be counted towards graduation (for students beginning Fall 2012 or later).
  6. Registration by MCS students in Independent Study (CSC 630) requires approval by the faculty member who will supervise the work, followed by submission to the DGP of a one page written description of the topic and expected outputs, and approval of the DGP. A grade of “S” will require submission of a report describing the work done, and the results obtained. A maximum of three credits of CSC 630 may be counted towards graduation.
  7. Minors are neither required nor permitted.

Advisor and Graduate Degree Audit

An academic advisor assists all MCS students with Graduate School procedures, and answers questions about courses and requirements. MCS student fill out a Graduate Degree Audit showing the courses they intend to take.

Examinations

There are no comprehensive examinations required for the MCS degree.

Continuous Enrollment and Time Limits

The Graduate School has a continuous enrollment policy. While pursuing a graduate degree, the student must be registered every Fall and Spring semester until completion. Otherwise, a student must request an official leave of absence from the Graduate School.

All masters students must complete their degree requirements within six (6) calendar years of starting their program.

Internships

Many of our Masters students take internships, either full-time (usually, during the summer) or part-time (during the academic year). International students who are required to be registered full-time during the academic year, must meet the following requirements to be eligible for an internship:

  1. They must have completed two semesters of study and be in good academic standing with a GPA of 3.0 or higher.
  2. Students with a GPA between 3.0-3.2 must receive approval from the DGP or their graduate advisor before accepting an internship offer.
  3. Students must be registered in at most three graduate-level courses during a semester in which they plan to engage in a part-time internship (20 hours or less).

Patent Agreement

Graduate students must sign a statement agreeing to abide by the University’s patent policies. This statement is now part of the Graduate Degree Audit. Patent and copyright procedures of NC State are available here. Students wishing to be exempted due to policies of their companies should contact the university’s Office of Technology Transfer at 919-515-7199.

The Accelerated Bachelors-Masters (ABM) Degree

The ABM degree program combines bachelors and masters degrees, and is intended for high-achieving undergraduates (completion of at least 75 credit hours, with GPA of at least 3.5) in the Department of Computer Science . Four graduate courses taken while still in the undergraduate program may be “double-counted” for both degrees, allowing the masters degree to be earned in two semesters beyond the bachelors. Prospective students must be reviewed and recommended by the Computer Science Undergraduate Advisor, and then apply to the Graduate School for admission into a graduate degree, program to follow immediately upon completion of their Bachelors degree. Please see the Computer Science Undergraduate Advisor to start this process. If approved, the student must prepare a Graduate Degree Audit form that shows what courses will be double-counted, and what courses are proposed for completion of the degree in two semesters (MCS without thesis). More information about the program and the requirements is available in the Graduate School Handbook.

Artificial Intelligence Track

AI is taking over the world. Besides end-user applications such as chatbots and content creation, AI is having a major impact on how every knowledge-based discipline proceeds.

The Masters Track in Artificial Intelligence teaches students the concepts, theories, and skills necessary to engineer and evaluate AI algorithms and AI-infused tools and software systems. Topics include foundations of machine learning, cognitive modeling, natural language processing and understanding, and multiagent systems, as well as engineering of and with deep learning, games, software, the Internet of Things, immersive environments, and large-scale geospatial reasoning.

The NC State College of Engineering launched an Applied AI Initiative two years ago, which builds on these themes and will provide access for students to collaborate in a wide variety of fields, including aerospace engineering, agriculture, biomedical engineering, education, manufacturing, materials science, robotics, transportation, and many more. Students will have an opportunity to learn on a campus with thriving groups and many informal opportunities to learn, going beyond their coursework.

A group of M.S. graduates, wearing black robes and caps, smile and clap at graduation.
2024 Computer Science graduation in William Neal Reynolds Coliseum

Artificial Intelligence Track Curriculum

RequirementCredit Hours
CSC 5203
Artificial Intelligence Foundations Courses12
Artificial Intelligence Applications Courses9
Computer Science core courses, graduate electives, or restricted electives6

Orientation Course (CSC 600)
1
Total31

Completion of the curriculum requires 31 credits. Students must also satisfy all the MCS requirements. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation)

Artificial Intelligence Track Courses

  • CSC 520 – Artificial Intelligence

Artificial Intelligence Foundations

  • CSC 523 – Cognitive Systems
  • CSC 529 – Trustworthy and Efficient Deep Learning
  • CSC 555 – Social Computing and Decentralized AI
  • CSC 591 – Neuro-Symbolic AI
  • CSC 720 – Artificial Intelligence II
  • CSC 722 – Machine Learning
  • CSC 791 – Machine Learning with Graphs
  • CSC 791 – Natural Language Processing
  • CSC 791 – Efficient Deep Learning
  • CSC 791 – Deep Learning Beyond Accuracy

Artificial Intelligence Applications

  • CSC 522 – Automated Learning
  • CSC 526 – Software Engineering and AI
  • CSC 559 – Foundations of Generative AI for Systems
  • CSC 582 – Computational Models of Interactive Narrative
  • CSC 584 – Building Game AI
  • CSC 591 – Foundation of Data Science
  • CSC 591 – Artificial Intelligence of Things
  • CSC 591 – Self-Driving Cars, Theory and Practice
  • CSC 591 – Advanced Robotics
  • CSC 791 – Geospatial AI

Certificate

Upon completion of the Artificial Intelligence Track curriculum, students may request an official letter from one of the Graduate Office Staff, or email [csc-gradoffice@ncsu.edu]. The letter will be on department letterhead, signed by the DGP, and will mention you by name, your degree program, and that you have successfully completed the Masters Track in Artificial Intelligence.

Data Science Track

Data Science has become increasingly important in nearly every industry sector and academic field, and the discovery and forecasting of insightful patterns from “Big Data” is at the core of analytical intelligence in government, industry, and science.
The Masters Track in Data Science instills students the skills essential to knowledge discovery efforts to identify standard, novel and truly differentiated solutions and decision making, including skills in managing, querying, analyzing, visualizing, and extracting meaning from extremely large data sets.

A line of graduates in black caps and gowns with colorful stoles walk through an auditorium, with one woman in the foreground smiling and looking towards the camera. Many other graduates and attendees are visible in the background.
Fall 2024 Computer Science graduation in William Neal Reynolds Coliseum

Data Science Track Curriculum

The curriculum requirements for the Data Science Track are summarized in this table.

RequirementCredit Hours
Data Science core courses9
Data Science electives9
Computer Science core courses, graduate electives, or restricted electives12
Orientation Course (CSC 600)1
Total31

Completion of the curriculum requires 31 credits. Students must also satisfy all the MCS requirements. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation)

Data Science Core

Three core courses must be taken as follows:

  • Any three courses from the list of Algorithmics courses below

Data Science Electives

Three courses must be taken from the three Data Science Course Categories:

  • Algorithmics
  • Systems
  • Applications

Students must take courses from at least two categories

Data Science Course Categories

Algorithmics

  • CSC 505 — Algorithms
  • CSC 520 — Artificial Intelligence I
  • CSC 522 — Automated Learning and Data Analysis
  • CSC 720 — Artificial Intelligence II
  • CSC 722 — Advanced Topics in Machine Learning
  • CSC 591/791 — Graph Data Mining
  • CSC 591/791 — Spatial and Temporal Data Mining
  • CSC 591/791 — Machine Learning for User Adaption
  • CSC 591/791 — Advanced Algorithms
  • CSC 591/791 — Algorithms for Data Guided Business Intelligence
  • CSC 591 — Foundations of Data Science

Systems

  • CSC 540 — Database Management Concepts and Systems
  • CSC 541 — Advanced Data Structures
  • CSC 547 — Cloud Computing Technology
  • CSC 548 — Parallel Systems
  • CSC 591 — Data Intensive Computing
  • CSC 742 — Database Management Systems
  • CSC 724 — Advanced Distributed Systems
  • CSC 750 — Service-Oriented Computing

Applications

  • CSC 530 — Computational Methods for Molecular Biology
  • CSC 554 — Human Computer Interaction
  • CSC 555 — Social Computing
  • CSC 561 — Graphics
  • CSC 591 — Spoken Dialogue Systems
  • CSC 591/495 — Intelligent Game Learning
  • CSC 591/495 — Educational Data Mining

Certificate

Upon completion of the Data Science Track curriculum, students may request an official letter from one of the Graduate Office Staff, or email [csc-gradoffice@ncsu.edu]. The letter will be on department letterhead, signed by the DGP, and will mention you by name, your degree program, and that you have successfully completed the Masters Track in Data Science. 

Security Track

As information technology continues to become ingrained in society, there are real-world impacts whenever the security or privacy of these systems fail.

The Masters Track in Security teaches students the skills necessary to build, analyze, and reason about secure and private systems. Topics include both an overview of computer and network security and a variety of more in-depth topics, including systems security, software security, privacy, and cryptography. The track can be customized to be more practice-oriented or theoretically-oriented based on the interests of the student.

Security Track Curriculum

The curriculum requirements for the Security Track are summarized in this table.

RequirementCredit Hours
Security core courses12
Security Foundations courses9
Computer Science core courses, graduate electives, or restricted electives9
Orientation Course (CSC 600)1
Total31

Completion of the curriculum requires 31 credits. Students must also satisfy all the MCS requirements. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation).

Security Courses

Four security core courses must be taken as follows:

  • CSC 574 – Computer and Network Security
    • CSC 514 – Foundations of Cryptography
    • CSC 515 – Software Security
    • CSC 533 – Privacy
    • CSC 537 – Systems Attacks and Defenses
    • CSC 591/791 – Human Centered Security
    • CSC 705 – Operating Systems Security
    • CSC 774 – Advanced Network Security
    • CSC 789 – Cellular and Telecommunications Security

Security Foundations Course Categories

Three courses must be taken from the Security Foundations Categories:

  • Systems Foundations
  • Theory Foundations
  • Privacy Foundations

Students must take take courses from at least two categories.

Systems Foundations

  • CSC 501 – Operating Systems Principles
  • CSC 510 – Software Engineering
  • CSC 540 – Database Management Concepts and Systems
  • CSC 548 – Parallel Systems
  • CSC 570 – Computer Networks
  • CSC 573 – Internet Protocols
  • CSC 575 – Introduction to Wireless Networking
  • CSC 712 – Software Testing and Reliability
  • CSC 724 – Advanced Distributed Systems

Theory Foundations

  • CSC 505 – Design and Analysis of Algorithms
  • CSC 512 – Compiler Construction
  • CSC 541 – Advanced Data Structures
  • CSC 565 – Graph Theory
  • CSC 707 – Automata, Languages and Computability Theory
  • CSC 722 – Advanced Topics in Machine Learning

Privacy Foundations

  • CSC 522 – Automated Learning and Data Analysis
  • CSC 554 – Human-Computer Interaction
  • CSC 555 – Social Computing
  • CSC 591 – Foundations of Data Science

Certificate

Upon completion of the Security Track curriculum, students may request an official letter from one of the Graduate Office Staff, or email [csc-gradoffice@ncsu.edu]. The letter will be on department letterhead, signed by the DGP, and will mention you by name, your degree program, and that you have successfully completed the Masters Track in Security.

Software Track

As software becomes increasingly important to our day-to-day lives, building and maintaining high quality software is critical.

The Masters Track in Software Engineering teaches students the skills necessary to build and maintain such software systems. Topics include both an overview of software engineering and a variety of more in-depth topics, including software security, testing, and DevOps. The track has offerings both in the state-of-the-practice and state-of-the-art software engineering, with a special focus on evidence-based practice.

Software Engineering Track Curriculum

The curriculum requirements for the Software Engineering Track are summarized in this table.

RequirementCredit Hours
CSC 510 — Software Engineering3
Software Science courses9
Software Foundations courses6
Computer Science core courses, graduate electives, or restricted electives12
Orientation Course (CSC 600)1
Total31
Three research projectsN/A

Completion of the curriculum requires 31 credits and the completion of three research projects. Students must also satisfy all the MCS requirements. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation)

Software Engineering Research Projects

Students must complete three research projects over the course of their degree, with no more than two per semester. A research project can be voluntarily participating in an approved software engineering research experiment, or it can be a research paper completed during one of the software science courses, in addition to that course’s normal coursework. Research experiments will typically involve some software development task, such as fixing a bug, and will generally take a few hours to complete. Faculty will send out email announcements to the graduate student mailing list with opportunities.

Software Engineering Courses

Graduate Program – Master Track in Software Engineering

As software becomes increasingly important to our day-to-day lives, building and maintaining high quality software is critical.

The Masters Track in Software Engineering teaches students the skills necessary to build and maintain such software systems. Topics include both an overview of software engineering and a variety of more in-depth topics, including software security, testing, and DevOps. The track has offerings both in the state-of-the-practice and state-of-the-art software engineering, with a special focus on evidence-based practice.

SOFTWARE ENGINEERING TRACK CURRICULUM

The curriculum requirements for the Software Engineering Track are summarized in this table.

RequirementCredit Hours
CSC 510 — Software Engineering3
Software Science courses9
Software Foundations courses6
Computer Science core courses, graduate electives, or restricted electives12
Orientation Course (CSC 600)1
Total31
Three research projectsN/A

Completion of the curriculum requires 31 credits and the completion of three research projects. Students must also satisfy all the MCS requirements. All incoming MCS students must register for an orientation course: CSC 600 (Computer Science Graduate Orientation)

SOFTWARE ENGINEERING RESEARCH PROJECTS

Students must complete three research projects over the course of their degree, with no more than two per semester. A research project can be voluntarily participating in an approved software engineering research experiment, or it can be a research paper completed during one of the software science courses, in addition to that course’s normal coursework. Research experiments will typically involve some software development task, such as fixing a bug, and will generally take a few hours to complete. Faculty will send out email announcements to the graduate student mailing list with opportunities.

SOFTWARE ENGINEERING COURSES

Software Science

  • CSC 515 — Software Security
  • CSC 519 — DevOps
  • CSC 591 — Data-Driven Privacy
  • CSC 710 — Software Engineering as a Human Activity
  • CSC 712 — Software Testing
  • CSC 791 — Automated Software Engineering

Software Foundations

  • CSC 503 — Computational Applied Logic
  • CSC 512 — Compiler Construction
  • CSC 517 — Object-Oriented Design and Development
  • CSC 520 — Artificial Intelligence I
  • CSC 522 — Automated Learning and Data Analysis
  • CSC 540 — Database Management Concepts and Systems
  • CSC 547 — Cloud Computing Technology
  • CSC 554 — Human-Computer Interaction
  • CSC 750 — Service-Oriented Computing

Certificate

Upon completion of the Software Engineering Track curriculum, students may request an official letter from one of the Graduate Office Staff, or email [csc-gradoffice@ncsu.edu]. The letter will be on department letterhead, signed by the DGP, and will mention you by name, your degree program, and that you have successfully completed the Masters Track in Software Engineering.