Program Overview
University Catalog
The Department of Computer Science in the College of Engineering at NC State University offers a Bachelor of Science in Computer Science degree. The program is accredited by the Computing Accreditation Commission of ABET.
Overview
The Computer Science curriculum teaches students the skills needed to specify, design, implement, test, and deploy computer and software systems. Core courses provide a foundation for all students in programming languages, data structures, software engineering, systems, the theory of computation, the basics of building secure software and systems, teaming and communication, and the social and ethical dimensions of the practice of computer science.
Plan Requirements
- Major Field of Study Requirements:
- Math:
- MA 141: Calculus I
- MA 241: Calculus II
- MA 242: Calculus III
- MA 305: Introductory Linear Algebra and Matrices
- ST 370: Probability and Statistics for Engineers
- Sciences:
- CH 101 & CH 102: Chemistry - A Molecular Science and General Chemistry Laboratory
- PY 205 & PY 206: Physics for Engineers and Scientists I and Physics for Engineers and Scientists I Laboratory
- PY 208 & PY 209: Physics for Engineers and Scientists II and Physics for Engineers and Scientists II Laboratory
- Basic Science Elective
- Math:
- CSC Major:
- CSC 116: Introduction to Computing - Java
- CSC 216 & CSC 217: Software Development Fundamentals and Software Development Fundamentals Lab
- CSC 226: Discrete Mathematics
- CSC 230: C and Software Tools
- CSC 246: Concepts and Facilities of Operating Systems for Computer Scientists
- CSC 316: Data Structures and Algorithms
- CSC 326: Software Engineering
- CSC 333: Automata, Grammars, and Computability
- CSC 379: Ethics in Computing
- CSC 492: Senior Design Project
- Free Elective
- Other Major:
- CSC Restricted Electives
- Other Restricted Electives - Group A
- Other Restricted Electives - Group B
- ENG 331: Communication for Engineering and Technology
- College Requirements:
- Orientation Course(s)
- E 101: Introduction to Engineering & Problem Solving
- E 102: Engineering in the 21st Century
- E 115: Introduction to Computing Environments
- Other
- EC 205: Fundamentals of Economics
- General Education Program Requirements:
- ENG 101: Academic Writing and Research
- GEP Humanities
- GEP Social Sciences
- GEP Elective
- GEP Interdisciplinary Perspectives
- GEP Health and Exercise Studies
- GEP Global Knowledge
- GEP Foundations of American Democracy
- World Language Proficiency
- Total Hours: 121
Basic Science Electives
- BIO
- CH 201: Chemistry - A Quantitative Science
- MEA
- PB
- PY 123: Stellar and Galactic Astronomy
- PY 124: Solar System Astronomy
- PY 328: Stellar and Galactic Astrophysics
- PY 341: Relativity, Gravitation and Cosmology
- PY 401: Quantum Physics I
- PY 402: Quantum Physics II
- PY 407: Introduction to Modern Physics
- PY 411: Mechanics I
- PY 412: Mechanics II
- PY 413: Thermal Physics
- PY 414: Electromagnetism I
- PY 415: Electromagnetism II
- ZOO
CSC Restricted Electives
- CSC 236: Computer Organization and Assembly Language for Computer Scientists
- CSC 302: Introduction to Numerical Methods
- CSC 342: Applied Web-based Client-Server Computing
- CSC 401: Data and Computer Communications Networks
- CSC 402: Networking Projects
- CSC 405: Computer Security
- CSC 406: Architecture Of Parallel Computers
- CSC 408: Software Product Management
- CSC 411: Introduction to Artificial Intelligence
- CSC 412: Compiler Construction
- CSC 414: Foundations of Cryptography
- CSC 415: Software Security
- CSC 416: Introduction to Combinatorics
- CSC 417: Theory of Programming Languages
- CSC 418: Software Analysis and Design
- CSC 419: DevOps: Modern Software Engineering Practices
- CSC 422: Automated Learning and Data Analysis
- CSC 431: File Organization and Processing
- CSC 433: Privacy in the Digital Age
- CSC 440: Database Management Systems
- CSC 442: Introduction to Data Science
- CSC 447: Introduction to Cloud Computing
- CSC 450: Web Services
- CSC 451: Robot Motion Planning
- CSC 453: Introduction to Internet of Things (IoT) Systems
- CSC 454: Human-Computer Interaction
- CSC 455: Social Computing and Decentralized Artificial Intelligence
- CSC 456: Computer Architecture and Multiprocessors
- CSC 461: Computer Graphics
- CSC 462: Advanced Computer Graphics Projects
- CSC 467: Introduction to Quantum Algorithms
- CSC 469: Quantum Programming
- CSC 471: Modern Topics in Cybersecurity
- CSC 472: Cybersecurity Practicum
- CSC 474: Network Security
- CSC 481: Game Engine Foundations
- CSC 482: Advanced Computer Game Projects
- CSC 484: Building Game AI
- CSC 486: Computational Visual Narrative
- CSC 490: Independent Study in Computer Science
- CSC 491: Special Topics in Computer Science
- CSC 499: Independent Research in Computer Science
- CSC 501: Operating Systems Principles
- CSC 503: Computational Applied Logic
- CSC 505: Design and Analysis Of Algorithms
- CSC 510: Software Engineering
- CSC 517: Object-Oriented Design and Development
- CSC 530: Computational Methods for Molecular Biology
- CSC 537: Systems Attacks and Defenses
- CSC 541: Advanced Data Structures
- CSC 542: Neural Networks and Deep Learning
- CSC 546: Management Decision and Control Systems
- CSC 548: Parallel Systems
- CSC 563: Visual Interfaces for Mobile Devices
- CSC 565: Graph Theory
- CSC 568: Enterprise Storage Architecture
- CSC 570: Computer Networks
- CSC 572: Optimizations and Algorithms
- CSC 575: Introduction to Wireless Networking
- CSC 576: Networking Services: QoS, Signaling, Processes
- CSC 577: Switched Network Management
- CSC 578: LTE and 5G Communications
- CSC 582: Computer Models of Interactive Narrative
- CSC 583: Introduction to Parallel Computing
- CSC 591: Special Topics In Computer Science
- CSC 595: Cybersecurity Practicum
- ECE 482: Engineering Entrepreneurship Senior Design I
- ECE 483: Engineering Entrepreneurship Senior Design II
- MA 414: Foundations of Cryptography
- MA 416: Introduction to Combinatorics
- ST 442: Introduction to Data Science
Other Restricted Electives - Group A
- ACC 200: Introduction to Managerial Accounting
- ACC 210: Concepts of Financial Reporting
- CE 214: Engineering Mechanics-Statics
- CSC 251: Python Applications
- CSC 255
- CSC 281: Foundations of Interactive Game Design
- CSC 293: Computer Science Teaching Assistant Training
- CSC 295: Special Topics in Computer Science
- CSC 297: Cybersecurity Topics
- CSC 298: Introduction to Computer Science Research Methods
- CSC 299: Mentored Research in Computer Science
- ECE 211: Electric Circuits
- ECE 212: Fundamentals of Logic Design
- MAE 2
- MSE 201: Structure and Properties of Engineering Materials
Other Restricted Electives - Group B
- ACC 310: Intermediate Financial Accounting I
- ACC 311: Intermediate Financial Accounting II
- ACC 330: An Introduction To Income Taxation
- ACC 340: Accounting Information Systems
- ARS 306: Music Composition with Computers
- BUS 320: Financial Management
- BUS 340: Information Systems Management
- BUS 360: Marketing Methods
- BUS 4
- CHE 435: Process Systems Analysis and Control
- CHE 465: Colloidal and Nanoscale Engineering
- CSC 427: Introduction to Numerical Analysis I
- CSC 428: Introduction to Numerical Analysis II
- DSC 405: Data Wrangling and Web Scraping
- DSC 406: Exploratory Data Analysis for Big Data
- DSC 410: Data Internship Preparation for Social Impact
- DSC 412: Exploring Machine Learning
- EC 3
- EC 4
- EC 5
- ECE 3 (except for ECE 309)
- ECE 4
- ECE 5
- EED 401: Teaching Undergraduate Engineers
- EED 411: Societal Foundations for Engineering Education
- EED 414: Ethics for Engineering Education
- EED 495: Special Topics in Engineering Education
- EED 502: Engineering Education : Content, Assessment, and Pedagogy
- EED 509: Field Experiences in Engineering Education
- EED 595: Special Topics in Engineering Education
- EMS 480: Teaching Mathematics with Technology
- GC 320: 3D Spatial Relations
- GC 350: Applied CAD/D and Geometric Controls
- GC 420: Visual Thinking
- GN 5
- ISE 311: Engineering Economic Analysis
- ISE 361: Deterministic Models in Industrial Engineering
- ISE 4
- ISE 5
- LOG 335: Symbolic Logic
- LOG 435: Advanced Logic & Metamathematics
- LOG 535: Advanced Logic and Metamathematics
- MA 302: Numerical Applications to Differential Equations
- MA 341: Applied Differential Equations I
- MA 351: Introduction to Discrete Mathematical Models
- MA 401: Applied Differential Equations II
- MA 402: Mathematics of Scientific Computing
- MA 403: Introduction to Modern Algebra
- MA 405: Introduction to Linear Algebra
- MA 407: Introduction to Modern Algebra for Mathematics Majors
- MA 408: Foundations of Euclidean Geometry
- MA 410: Theory of Numbers
- MA 412: Long-Term Actuarial Models
- MA 413: Short-Term Actuarial Models
- MA 425: Mathematical Analysis I
- MA 426: Mathematical Analysis II
- MA 427: Introduction to Numerical Analysis I
- MA 428: Introduction to Numerical Analysis II
- MA 430: Mathematical Models in the Physical Sciences
- MA 432: Mathematical Models in Life Sciences
- MA 437: Applications of Algebra
- MA 5
- MAE 3
- MAE 4
- MAE 5
- MIE 3
- MIE 4
- MSE 3
- MSE 4
- MSE 5
- MUS 306: Music Composition with Computers
- NE 3
- NE 4
- NE 5
- OR 5
- PHI 425: Introduction to Cognitive Science
- PSY 307: Industrial and Organizational Psychology
- PSY 340: Human Factors Psychology
- PSY 400: Perception
- PSY 420: Cognitive Processes
- PSY 425: Introduction to Cognitive Science
- PY 4
- PY 5
- ST 372: Introduction to Statistical Inference and Regression
- ST 4
- ST 5
Semester Sequence
This is a sample plan of study.
Semester Sequence
Plan of Study Grid First Year
- Fall Semester:
- CH 101 & CH 102: Chemistry - A Molecular Science and General Chemistry Laboratory
- E 101: Introduction to Engineering & Problem Solving
- E 115: Introduction to Computing Environments
- ENG 101: Academic Writing and Research
- MA 141: Calculus I
- Spring Semester:
- CSC 116: Introduction to Computing - Java
- MA 241: Calculus II
- PY 205 & PY 206: Physics for Engineers and Scientists I and Physics for Engineers and Scientists I Laboratory
- E 102: Engineering in the 21st Century
- EC 205: Fundamentals of Economics
- Second Year:
- Fall Semester:
- CSC 216 & CSC 217: Software Development Fundamentals and Software Development Fundamentals Lab
- CSC 226: Discrete Mathematics
- MA 242: Calculus III
- PY 208 & PY 209: Physics for Engineers and Scientists II and Physics for Engineers and Scientists II Laboratory
- GEP Health and Exercise Studies
- Spring Semester:
- CSC 230: C and Software Tools
- CSC 316: Data Structures and Algorithms
- CSC 333: Automata, Grammars, and Computability
- MA 305: Introductory Linear Algebra and Matrices
- GEP Requirement
- Fall Semester:
- Third Year:
- Fall Semester:
- CSC 246: Concepts and Facilities of Operating Systems for Computer Scientists
- CSC Restricted Elective
- ST 370: Probability and Statistics for Engineers
- GEP Requirement
- Other Restricted Elective - Group A
- Spring Semester:
- CSC 326: Software Engineering
- CSC 379: Ethics in Computing
- CSC Restricted Elective
- ENG 331: Communication for Engineering and Technology
- GEP Health and Exercise Studies
- Other Restricted Elective - Group A
- Fall Semester:
- Fourth Year:
- Fall Semester:
- CSC Restricted Elective
- GEP Requirement
- GEP Requirement
- Other Restricted Elective - Group B
- Basic Science Elective
- Spring Semester:
- CSC 492: Senior Design Project
- CSC Restricted Elective
- Other Restricted Elective - Group B
- Free Elective
- GEP Requirement
- Fall Semester:
- Total Hours: 121
Career Opportunities
Designing computer systems, and the software that runs on them is the job of computer scientists. Computer scientists find demand for their innovation, design, analysis, testing, and engineering skills across all domains. As a direct consequence of the increasingly critical role of computers in society, the discipline of computer science has enjoyed rapid growth for many years, with the trend likely to continue. Employment projections indicate a critical nationwide shortfall in the supply of people skilled in computing and information technology, and a resulting steady rise in demand and salaries, for decades to come. Computer Science graduates from NC State are in high demand, including by employers that are extremely selective in their national recruiting.
Career Titles
- Architectural Drafters
- Business Intelligence Analysts
- Clinical Data Managers
- Computer and Information Scientists
- Computer and Information Systems Managers
- Computer Hardware Engineers
- Computer Network Architects
- Computer Programmer
- Computer Science Professor
- Computer Systems Analyst
- Computer Systems Engineer
- Computer User Support Specialist
- Data Warehousing Specialists
- Database Administrator
- Information Security Analysts
- Information Technology Project Managers
- IT Administrator (Information Technology)
- Mathematician
- Project Management Specialists
- Robotics Engineers
- Scientific Linguist
- Software Developer
- Software Engineer
- Technical & Scientific Publications Editor
- Technical Publications Writer
- Video Game Designer
- Web Art Director
- Webmaster
Learn More About Careers
- NCcareers.org: Explore North Carolina’s central online resource for students, parents, educators, job seekers and career counselors looking for high quality job and career information.
- Occupational Outlook Handbook: Browse the Occupational Outlook Handbook published by the Bureau of Labor Statistics to view state and area employment and wage statistics.
- Career One Stop Videos: View videos that provide career details and information on wages, employment trends, skills needed, and more for any occupation.
- Focus 2 Career Assessment: This career, major and education planning system is available to current NC State students to learn about how your values, interests, competencies, and personality fit into the NC State majors and your future career.
- Focus 2 Apply Assessment: A career assessment tool designed to support prospective students in exploring and choosing the right major and career path based on your unique personality, interests, skills and values.
Professional Organizations & Societies
- Associate for Computing Machinery (ACM)
- Association of Information Technology Professionals (AITP)
- Institute of Electrical and Electronics Engineers (IEEE) Computer Society
- National Association of Professional Engineers (NSPE)
