Skip to main content

Computer Science

 

Master | Computer Science

Program Format:   
Entrance Exam: GRE

What's special about our Computer Science at NC State? 
Our nationally recognized faculty consists of approximately 40 tenure-track professors, as well as a number of adjunct professors and visiting lecturers, many of whom possess extensive experience in industry. Included in this elite group of faculty are two Alumni Distinguished Professors, twenty recipients of the National Science Foundation's prestigious CAREER Award (which go to the nation's outstanding young faculty), a member of the National Academy of Engineering, a number of ACM and IEEE Fellows, and several University Outstanding Teachers.

World Class Education Online and Onsite 

The Master of Computer Science (Distance Education) program is a terminal professional degree program designed primarily to meet the needs of working professionals. The MCS-DE program is available to students residing in the United States, and to military personnel serving abroad. The degree is based on course work only; no thesis or comprehensive examination is required. MCS-DE students typically take one or two courses a semester.

Courses are provided in streaming video form over the Internet. Course work and results are exchanged electronically, and exams are taken (under properly proctored conditions) at the student's site. Student's have the same access and privileges that on-campus students enjoy, and are encouraged to interact fully with their instructors and fellow students. Courses in most cases are simply recorded versions of on-campus courses, and as such have exactly the same content and requirements as would be experienced by any other graduate student. MCS-DE students may, if they so desire and are able, attend on-campus courses as well. The diploma and transcript indicate the degree is simply the Master of Computer Science, regardless of whether the student attends on campus or through Online and Distance Education delivery.

The Master of Computer Science (MCS) distance education program is designed for students with an undergraduate degree or sufficient undergraduate course work in computer science who wish to pursue a graduate degree in computer science. It is a 31 credit hour degree program that does not require a thesis, final oral exam or on- campus residency.

ADMISSIONS REQUIREMENTS

Students should have the following background in order to be considered for admission into the MCS degree program:

  • Undergraduate coursework in a three-semester sequence in differential and integral calculus, a calculus- based course in probability and statistics, and computer science courses equivalent to CSC 116, 216, 226, 236, 316 and either 333 or 456. 
  • A minimum grade point average (GPA) of 3.0.
  • Completion of the general Graduate Record Exam (GRE) for all applicants. The distance education MCS degree program is limited to those individuals who work or reside in the United States. The Graduate School requires that all international applicants take the TOEFL examination if they have not received a degree from a U.S. institution.

    PLAN OF STUDY

    • Completion of 31 credit hours of graduate coursework (ten courses). At least 22 hours must be in courses bearing the CSC prefix and must include CSC 600.
    • Completion of a minimum of three core CSC courses from the theory and systems categories, one from one category and two from the other category.
    • The remaining three courses may consist of any graduate level engineering, computer science, mathematics, or statistics courses offered through Engineering Online or on campus.

    All requirements for the degree must be completed within six years of enrolling in the first course appearing on the NC State graduate transcript. Admitted students must comply with the Graduate School regulations for continuous enrollment or must request a leave of absence not to exceed one year.

    Completion of the curriculum requires 31 graduate credits.

    Core Requirements

    CSC 600 - Computer Science Graduate Orientation

    Units: 1

    Introduction for new graduate students to [a] information about graduate program, department, and university resources, and [b] research projects conducted by CSC faculty.

    Offered in Fall Only

    Find this course:

    2016 Spring Term 2016 Fall Term

    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:
    Category 1: Theory

    CSC 505 - Design and Analysis Of Algorithms

    Units: 3

    Algorithm design techniques: use of data structures, divide and conquer, dynamic programming, greedy techniques, local and global search. Complexity and analysis of algorithms: asymptotic analysis, worst case and average case, recurrences, lower bounds, NP-completeness. Algorithms for classical problems including sorting, searching and graph problems [connectivity, shortest paths, minimum spanning trees].

    Offered in Fall and Spring

    Find this course:

    2016 Summer Term 1 2016 Fall Term

    CSC 503 - Computational Applied Logic

    Units: 3

    Introduction to the conceptual and formal apparatus of mathematical logic, to mathematical concepts underlying the process of logical formalization, and to the applications of various logics across a broad spectrum of problems in computer science and artificial intelligence.

    Offered in Fall Only

    CSC 512 - Compiler Construction

    Units: 3

    Theory and practice of compiler writing. Lexical analysis, table driven LL[1], LR[1] and LALR[1] parsers, code generation, flow analysis, run-time storage organization and optimization. Writing a compiler using software tools a significant part of course.

    Offered in Spring Only

    Find this course:

    2016 Fall Term

    CSC 565 - Graph Theory

    Units: 3

    Basic concepts of graph theory. Trees and forests. Vector spaces associated with a graph. Representation of graphs by binary matrices and list structures. Traversability. Connectivity. Matchings and assignment problems. Planar graphs. Colorability. Directed graphs. Applications of graph theory with emphasis on organizing problems in a form suitable for computer solution.

    Offered in Spring Only

    YEAR: Offered Alternate Even Years

    CSC 579 - Introduction to Computer Performance Modeling

    Units: 3

    Workload characterization, collection and analysis of performance data, instrumentation, tuning, analytic models including queuing network models and operational analysis, economic considerations.

    Offered in Fall Only

    Find this course:

    2016 Spring Term 2016 Fall Term

    CSC 580 - Numerical Analysis I

    Units: 3

    Algorithm behavior and applicability. Effect of roundoff errors, systems of linear equations and direct methods, least squares via Givens and Householder transformations, stationary and Krylov iterative methods, the conjugate gradient and GMRES methods, convergence of method.

    Offered in Fall and Spring

    CSC 707 - Automata, Languages and Computability Theory

    Units: 3

    Formal models of language and computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines. Relative power of models, Chomsky hierarchy. Inherent complexity of problems: undecidability, computational complexity, intractable problems.

    Offered in Fall Only

    Category 2: Systems

    CSC 501 - Operating Systems Principles

    Units: 3

    Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems.

    Offered in Fall and Spring

    Find this course:

    2016 Spring Term

    CSC 506 - Architecture Of Parallel Computers

    Units: 3

    The need for parallel and massively parallel computers. Taxonomy of parallel computer architecture, and programming models for parallel architectures. Example parallel algorithms. Shared-memory vs. distributed-memory architectures. Correctness and performance issues. Cache coherence and memory consistency. Bus-based and scalable directory-based multiprocessors. Interconnection-network topologies and switch design. Brief overview of advanced topics such as multiprocessor prefetching and speculative parallel execution.

    Offered in Fall and Spring

    Find this course:

    2016 Fall Term

    CSC 510 - Software Engineering

    Units: 3

    An introduction to software life cycle models; size estimation; cost and schedule estimation; project management; risk management; formal technical reviews; analysis, design, coding and testing methods; configuration management and change control; and software reliability estimation. Emphasis on large development projects. An individual project required following good software engineering practices throughout the semester.

    Offered in Fall Only

    Find this course:

    2016 Spring Term 2016 Summer Term 1

    CSC 520 - Artificial Intelligence I

    Units: 3

    Introduction to and overview of artificial intelligence. Study of AI programming language such as LISP or PROLOG. Elements of AI problem-solving technique. State spaces and search techniques. Logic, theorem proving and associative databases. Introduction to knowledge representation, expert systems and selected topics including natural language processing, vision and robotics.

    Offered in Fall and Summer

    Find this course:

    2016 Spring Term

    CSC 540 - Database Management concepts and Systems

    Units: 3

    Advanced database concepts. Logical organization of databases: the entity-relationship model; the relational data model and its languages. Functional dependencies and normal forms. Design, implementation, and optimization of query languages; security and integrity, consurrency control, transaction processing, and distributed database systems.

    Offered in Fall Only

    CSC 561 - Principles of Computer Graphics

    Units: 3

    Fundamentals of the OpenGL API. 2D and 3D transformations, perspective and orthographic projection, and the mathematical foundations that underlie these concepts. Geometric primitives, clipping, depth buffering, scan conversion, and rasterization. Lighting, shadows, and texture mapping. Curves and surfaces.

    Offered in Fall Only

    CSC 570 - Computer Networks

    Units: 3

    General introduction to computer networks. Discussion of protocol principles, local area and wide area networking, OSI stack, TCP/IP and quality of service principles. Detailed discussion of topics in medium access control, error control coding, and flow control mechanisms. Introduction to networking simulation, security, wireless and optical networking.

    Offered in Fall and Spring

    Find this course:

    2016 Fall Term

    Advanced or specialized versions of core courses may be used as substitutes (e.g., CSC720 (AI II) may substitute for CSC520 (AI), and CSC573 (Internet Protocols) may substitute for CSC570 (Computer Networks)). Special topics courses (CSC 59x or 79x) may not be used to satisfy core course requirements.

    Additionally:

    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. At most 3 credits outside of Computer Science may be at the 400 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. See the Graduate Handbook for additional Graduate School regulations concerning grades.
    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.

    Tuition Level: Graduate

    Resident
    Cost per Credit Hour: $411.88
    Total Estimated Cost for 31 Credits Completed at NC State: $12,768.28

    Non-resident
    Cost per Credit Hour: $1,007.88
    Total Estimated Cost for 31 Credits Completed at NC State: $31,244.28

    Approximate cost per semester: $3,706.92 based on 9 credit hours

    Note: There may be additional fees associated with Distance Education courses for verification of student identity for proctored examinations. These fees will be paid directly by the student to the proctor or facility and are not charged to your student account.

    More about Online and Distance Education Tuition

    Entry Semester Application Deadlines and Details
    FallSee program website
    SpringSee program website

    Dr. George N. Rouskas

    Director of Graduate Programs

    919.515.3860
    rouskas@ncsu.edu