Computer Science (BS)
The Department of Computer Science in the College of Engineering at NC State 腦瞳排桴 offers a Bachelor of Science in Computer Science degree. The program is accredited by the Computing Accreditation Commission of 插詁楚啦,泭.泭
Students complete the standard set of engineering first-year courses, which include courses in the humanities, chemistry, mathematics, physics, and computing. Students may apply to join the Department of Computer Science as degree-seeking students via the .泭
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.泭
Computer science electives are chosen in consultation with advisers, usually starting during the junior year. These electives allow for the exploration of more advanced areas. Among them are artificial intelligence, cloud computing, compilers, computer architecture and multiprocessors, computer graphics, cryptography, database management systems, data science, development and operations, educational technology, file organization and processing, human-computer interface design, multimedia technology, networks, privacy, security (computer, network, and software), sensor systems, social computing, and web services.泭
All Computer Science majors must complete a team project in Senior Design. Projects under the auspices of the departments 泭may have industrial sponsors, so student teams gain experience working jointly with industry representatives to achieve project goals. Senior Design teams are expected to solve a technical computing problem while effectively communicating their work and process to various audiences.
Departmental Information
The Department of Computer Science is located in Engineering Building II on NC States Centennial Campus.泭泭
Plan Requirements
| Code | Title | Hours |
|---|---|---|
| Major Field of Study Requirements | ||
| Math | ||
| MA泭141 | Calculus I 1,2 | 4 |
| MA泭241 | Calculus II 1,2 | 4 |
| MA泭242 | Calculus III | 4 |
| MA泭305 | Introductory Linear Algebra and Matrices | 3 |
| ST泭370 | Probability and Statistics for Engineers | 3 |
| Sciences | ||
| CH泭101 &泭CH泭102 | Chemistry - A Molecular Science and General Chemistry Laboratory 1,2 | 4 |
| PY泭205 &泭PY泭206 | Physics for Engineers and Scientists I and Physics for Engineers and Scientists I Laboratory 1,2 | 4 |
| PY泭208 &泭PY泭209 | Physics for Engineers and Scientists II and Physics for Engineers and Scientists II Laboratory | 4 |
| Basic Science Elective | 3 | |
| CSC Major | ||
| CSC泭116 | Introduction to Computing - Java 2 | 3 |
| CSC泭216 &泭CSC泭217 | Software Development Fundamentals and Software Development Fundamentals Lab 2 | 4 |
| CSC泭226 | Discrete Mathematics 2 | 3 |
| CSC泭230 | C and Software Tools | 3 |
| CSC泭246 | Concepts and Facilities of Operating Systems for Computer Scientists | 3 |
| CSC泭316 | Data Structures and Algorithms | 3 |
| CSC泭326 | Software Engineering | 4 |
| CSC泭333 | Automata, Grammars, and Computability | 3 |
| CSC泭379 | Ethics in Computing | 1 |
| CSC泭492 | Senior Design Project | 3 |
| Free Elective | 3 | |
| Other Major | ||
| CSC Restricted Electives | 12 | |
| Other Restricted Electives - Group A | 6 | |
| Other Restricted Electives - Group B | 6 | |
| ENG泭331 | Communication for Engineering and Technology | 3 |
| College Requirements | ||
| Orientation Course(s): | 4 | |
| Introduction to Engineering & Problem Solving 1,3 | ||
| Engineering in the 21st Century 3 | ||
| Introduction to Computing Environments 1 | ||
| Other: | 3 | |
| Fundamentals of Economics | ||
or泭EC泭201 | Principles of Microeconomics | |
or泭ARE泭201 | Introduction to Agricultural & Resource Economics | |
| General Education Program Requirements | ||
| ENG泭101 1,3 | 4 | |
| GEP Humanities | 6 | |
| GEP Social Sciences | 3 | |
| GEP Elective | 3 | |
| GEP Interdisciplinary Perspectives | 3 | |
| GEP Health and Exercise Studies | 2 | |
| GEP Global Knowledge (verify requirement) | ||
| GEP Foundations of American Democracy (verify requirement) | ||
| World Language Proficiency (verify requirement) | ||
| Total Hours | 121 | |
- 1
College of Engineering CODA classes.
- 2
A grade of C or higher is required.
- 3
A grade of C- or higher is required.
Basic Science Electives
| Code | Title | Hours |
|---|---|---|
| BIO *** | ||
| CH泭201 | Chemistry - A Quantitative Science | 3 |
| MEA *** | ||
| PB *** | ||
| PY泭123 | Stellar and Galactic Astronomy | 3 |
| PY泭124 | Solar System Astronomy | 3 |
| PY泭328 | Stellar and Galactic Astrophysics | 3 |
| PY泭341 | Relativity, Gravitation and Cosmology | 3 |
| PY泭401 | Quantum Physics I | 3 |
| PY泭402 | Quantum Physics II | 3 |
| PY泭407 | Introduction to Modern Physics | 3 |
| PY泭411 | Mechanics I | 3 |
| PY泭412 | Mechanics II | 3 |
| PY泭413 | Thermal Physics | 3 |
| PY泭414 | Electromagnetism I | 3 |
| PY泭415 | Electromagnetism II | 3 |
| ZOO *** | ||
CSC Restricted Electives
| Code | Title | Hours |
|---|---|---|
| CSC泭236 | Computer Organization and Assembly Language for Computer Scientists | 3 |
| CSC泭302 | Introduction to Numerical Methods | 3 |
| or泭CSC泭580 | Numerical Analysis I | |
| CSC泭342 | Applied Web-based Client-Server Computing | 3 |
| CSC泭401 | Data and Computer Communications Networks | 3 |
| or泭CSC泭573 | Internet Protocols | |
| CSC泭402 | Networking Projects | 3 |
| CSC泭405 | Computer Security | 3 |
| CSC泭406 | Architecture Of Parallel Computers | 3 |
| or泭CSC泭506 | Architecture Of Parallel Computers | |
| CSC泭408 | Software Product Management | 3 |
| CSC泭411 | Introduction to Artificial Intelligence | 3 |
| or泭CSC泭520 | Artificial Intelligence I | |
| CSC泭412 | Compiler Construction | 3 |
| or泭CSC泭512 | Compiler Construction | |
| CSC泭414 | Foundations of Cryptography | 3 |
| or泭CSC泭514 | Foundations of Cryptography | |
| CSC泭415 | Software Security | 3 |
| or泭CSC泭515 | Software Security | |
| CSC泭416 | Introduction to Combinatorics | 3 |
| CSC泭417 | Theory of Programming Languages | 3 |
| CSC泭418 | Software Analysis and Design | 3 |
| CSC泭419 | DevOps: Modern Software Engineering Practices | 3 |
| or泭CSC泭519 | DevOps: Modern Software Engineering Practices | |
| CSC泭422 | Automated Learning and Data Analysis | 3 |
| or泭CSC泭522 | Automated Learning and Data Analysis | |
| CSC泭431 | File Organization and Processing | 3 |
| CSC泭433 | Privacy in the Digital Age | 3 |
| or泭CSC泭533 | Privacy in the Digital Age | |
| CSC泭440 | Database Management Systems | 3 |
| or泭CSC泭540 | Database Management Concepts and Systems | |
| CSC泭442 | Introduction to Data Science | 3 |
| CSC泭447 | Introduction to Cloud Computing | 3 |
| or泭CSC泭547 | Cloud Computing Technology | |
| CSC泭450 | Web Services | 3 |
| CSC泭451 | Robot Motion Planning | 3 |
| CSC泭453 | Introduction to Internet of Things (IoT) Systems | 3 |
| CSC泭454 | Human-Computer Interaction | 3 |
| or泭CSC泭554 | Human-Computer Interaction | |
| CSC泭455 | Social Computing and Decentralized Artificial Intelligence | 3 |
| or泭CSC泭555 | Social Computing and Decentralized Artificial Intelligence | |
| CSC泭456 | Computer Architecture and Multiprocessors | 3 |
| or泭CSC泭506 | Architecture Of Parallel Computers | |
| CSC泭461 | Computer Graphics | 3 |
| or泭CSC泭561 | Principles of Computer Graphics | |
| CSC泭462 | Advanced Computer Graphics Projects | 3 |
| or泭CSC泭562 | Introduction to Game Engine Design | |
| CSC泭467 | Introduction to Quantum Algorithms | 3 |
| CSC泭469 | Quantum Programming | 3 |
| CSC泭471 | Modern Topics in Cybersecurity | 3 |
| CSC泭472 | Cybersecurity Practicum | 3 |
| CSC泭474 | Network Security | 3 |
| or泭CSC泭574 | Computer and Network Security | |
| CSC泭481 | Game Engine Foundations | 3 |
| or泭CSC泭581 | Game Engine Foundations | |
| CSC泭482 | Advanced Computer Game Projects | 3 |
| CSC泭484 | Building Game AI | 3 |
| or泭CSC泭584 | Building Game AI | |
| CSC泭486 | Computational Visual Narrative | 3 |
| CSC泭490 | Independent Study in Computer Science | 1-6 |
| CSC泭491 | Special Topics in Computer Science | 1-6 |
| CSC泭499 | Independent Research in Computer Science | 1-6 |
| CSC泭501 | Operating Systems Principles | 3 |
| CSC泭503 | Computational Applied Logic | 3 |
| CSC泭505 | Design and Analysis Of Algorithms | 3 |
| CSC泭510 | Software Engineering | 3 |
| CSC泭517 | Object-Oriented Design and Development | 3 |
| CSC泭530 | Computational Methods for Molecular Biology | 3 |
| CSC泭537 | Systems Attacks and Defenses | 3 |
| CSC泭541 | Advanced Data Structures | 3 |
| CSC泭542 | Neural Networks and Deep Learning | 3 |
| CSC泭546 | Management Decision and Control Systems | 3 |
| CSC泭548 | Parallel Systems | 3 |
| CSC泭563 | Visual Interfaces for Mobile Devices | 3 |
| CSC泭565 | Graph Theory | 3 |
| CSC泭568 | Enterprise Storage Architecture | 3 |
| CSC泭570 | Computer Networks | 3 |
| CSC泭572 | Optimizations and Algorithms | 3 |
| CSC泭575 | Introduction to Wireless Networking | 3 |
| CSC泭576 | Networking Services: QoS, Signaling, Processes | 3 |
| CSC泭577 | Switched Network Management | 3 |
| CSC泭578 | LTE and 5G Communications | 3 |
| CSC泭582 | Computer Models of Interactive Narrative | 3 |
| CSC泭583 | Introduction to Parallel Computing | 3 |
| CSC泭591 | Special Topics In Computer Science | 1-6 |
| CSC泭595 | Cybersecurity Practicum | 3 |
| ECE泭482 | Engineering Entrepreneurship Senior Design I | 3 |
| ECE泭483 | Engineering Entrepreneurship Senior Design II | 3 |
| MA泭414 | Foundations of Cryptography | 3 |
| MA泭416 | Introduction to Combinatorics | 3 |
| ST泭442 | Introduction to Data Science | 3 |
Other Restricted Electives - Group A
| Code | Title | Hours |
|---|---|---|
| CSC Other Restricted Electives - Group B | ||
| ACC泭200 | Introduction to Managerial Accounting | 3 |
| ACC泭210 | Concepts of Financial Reporting | 3 |
| CE泭214 | Engineering Mechanics-Statics | 3 |
| CSC泭251 | Python Applications | 1 |
| CSC泭255 | 1 | |
| CSC泭281 | Foundations of Interactive Game Design | 3 |
| CSC泭293 | Computer Science Teaching Assistant Training | 1 |
| CSC泭295 | Special Topics in Computer Science | 1-3 |
| CSC泭297 | Cybersecurity Topics | 1 |
| CSC泭298 | Introduction to Computer Science Research Methods | 3 |
| CSC泭299 | Mentored Research in Computer Science | 1-3 |
| ECE泭211 | Electric Circuits | 4 |
| ECE泭212 | Fundamentals of Logic Design | 3 |
| MAE 2** | 1-3 | |
| MSE泭201 | Structure and Properties of Engineering Materials | 3 |
Other Restricted Electives - Group B
| Code | Title | Hours |
|---|---|---|
| CSC Restricted Elective Courses | 1-6 | |
| ACC泭310 | Intermediate Financial Accounting I | 3 |
| ACC泭311 | Intermediate Financial Accounting II | 3 |
| ACC泭330 | An Introduction To Income Taxation | 3 |
| ACC泭340 | Accounting Information Systems | 3 |
| ARS泭306 | Music Composition with Computers | 3 |
| BUS泭320 | Financial Management | 3 |
| BUS泭340 | Information Systems Management | 3 |
| BUS泭360 | Marketing Methods | 3 |
| BUS 4** | ||
| CHE泭435 | Process Systems Analysis and Control | 3 |
| CHE泭465 | Colloidal and Nanoscale Engineering | 3 |
| CSC泭427 | Introduction to Numerical Analysis I | 3 |
| CSC泭428 | Introduction to Numerical Analysis II | 3 |
| DSC泭405 | Data Wrangling and Web Scraping | 1 |
| DSC泭406 | Exploratory Data Analysis for Big Data | 1 |
| DSC泭410 | Data Internship Preparation for Social Impact | 1 |
| DSC泭412 | Exploring Machine Learning | 1 |
| EC 3** | ||
| EC 4** | ||
| EC 5** | ||
| ECE 3** (except for ECE泭309) | ||
| ECE 4** | ||
| ECE 5** | ||
| EED泭401 | Teaching Undergraduate Engineers | 3 |
| or泭EED泭501 | Teaching Undergraduate Engineers | |
| EED泭411 | Societal Foundations for Engineering Education | 3 |
| or泭EED泭511 | Societal Foundations for Engineering Education | |
| EED泭414 | Ethics for Engineering Education | 3 |
| or泭EED泭514 | Ethics for Engineering Education | |
| EED泭495 | Special Topics in Engineering Education | 1-3 |
| EED泭502 | Engineering Education : Content, Assessment, and Pedagogy | 3 |
| EED泭509 | Field Experiences in Engineering Education | 3 |
| EED泭595 | Special Topics in Engineering Education | 1-3 |
| EMS泭480 | Teaching Mathematics with Technology | 3 |
| GC泭320 | 3D Spatial Relations | 3 |
| GC泭350 | Applied CAD/D and Geometric Controls | 3 |
| GC泭420 | Visual Thinking | 3 |
| GN 5** | ||
| ISE泭311 | Engineering Economic Analysis | 3 |
| ISE泭361 | Deterministic Models in Industrial Engineering | 3 |
| ISE 4** | ||
| ISE 5** | ||
| LOG泭335 | Symbolic Logic | 3 |
| LOG泭435 | Advanced Logic & Metamathematics | 3 |
| LOG泭535 | Advanced Logic and Metamathematics | 3 |
| MA泭302 | Numerical Applications to Differential Equations | 1 |
| MA泭341 | Applied Differential Equations I | 3 |
| MA泭351 | Introduction to Discrete Mathematical Models | 3 |
| MA泭401 | Applied Differential Equations II | 3 |
| MA泭402 | Mathematics of Scientific Computing | 3 |
| MA泭403 | Introduction to Modern Algebra | 3 |
| MA泭405 | Introduction to Linear Algebra | 3 |
| MA泭407 | Introduction to Modern Algebra for Mathematics Majors | 3 |
| MA泭408 | Foundations of Euclidean Geometry | 3 |
| MA泭410 | Theory of Numbers | 3 |
| MA泭412 | Long-Term Actuarial Models | 3 |
| MA泭413 | Short-Term Actuarial Models | 3 |
| MA泭425 | Mathematical Analysis I | 3 |
| MA泭426 | Mathematical Analysis II | 3 |
| MA泭427 | Introduction to Numerical Analysis I | 3 |
| MA泭428 | Introduction to Numerical Analysis II | 3 |
| MA泭430 | Mathematical Models in the Physical Sciences | 3 |
| MA泭432 | Mathematical Models in Life Sciences | 3 |
| MA泭437 | Applications of Algebra | 3 |
| MA 5** | ||
| MAE 3** | ||
| MAE 4** | ||
| MAE 5** | ||
| MIE 3** | ||
| MIE 4** | ||
| MSE 3** | ||
| MSE 4** | ||
| MSE 5** | ||
| MUS泭306 | Music Composition with Computers | 3 |
| NE 3** | ||
| NE 4** | ||
| NE 5** | ||
| OR 5** | ||
| PHI泭425 | Introduction to Cognitive Science | 3 |
| PSY泭307 | Industrial and Organizational Psychology | 3 |
| PSY泭340 | Human Factors Psychology | 3 |
| PSY泭400 | Perception | 3 |
| PSY泭420 | Cognitive Processes | 3 |
| PSY泭425 | Introduction to Cognitive Science | 3 |
| PY 4** | ||
| PY 5** | ||
| ST泭372 | Introduction to Statistical Inference and Regression | 3 |
| ST 4** | ||
| ST 5** | ||
Semester Sequence
This is a sample.
Semester Sequence4
| First Year | ||
|---|---|---|
| Fall Semester | Hours | |
| CH泭101 &泭CH泭102 | Chemistry - A Molecular Science and General Chemistry Laboratory 1, 2 | 4 |
| E泭101 | Introduction to Engineering & Problem Solving 1,3 | 1 |
| E泭115 | Introduction to Computing Environments 1 | 1 |
| ENG泭101 | Academic Writing and Research 1,3 | 4 |
| MA泭141 | Calculus I 1, 2 | 4 |
| 泭 | Hours | 14 |
| Spring Semester | ||
| CSC泭116 | Introduction to Computing - Java 2 | 3 |
| MA泭241 | Calculus II 1, 2 | 4 |
| PY泭205 &泭PY泭206 | Physics for Engineers and Scientists I and Physics for Engineers and Scientists I Laboratory 1, 2 | 4 |
| E泭102 | Engineering in the 21st Century 1, 3 | 2 |
| EC泭205 | Fundamentals of Economics or Principles of Microeconomics or Introduction to Agricultural & Resource Economics | 3 |
| 泭 | Hours | 16 |
| Second Year | ||
| Fall Semester | ||
| CSC泭216 &泭CSC泭217 | Software Development Fundamentals and Software Development Fundamentals Lab 2 | 4 |
| CSC泭226 | Discrete Mathematics 2 | 3 |
| MA泭242 | Calculus III | 4 |
| PY泭208 &泭PY泭209 | Physics for Engineers and Scientists II and Physics for Engineers and Scientists II Laboratory | 4 |
| GEP Health and Exercise Studies | 1 | |
| 泭 | Hours | 16 |
| Spring Semester | ||
| CSC泭230 | C and Software Tools | 3 |
| CSC泭316 | Data Structures and Algorithms | 3 |
| CSC泭333 | Automata, Grammars, and Computability | 3 |
| MA泭305 | Introductory Linear Algebra and Matrices | 3 |
| GEP Requirement | 3 | |
| 泭 | Hours | 15 |
| Third Year | ||
| Fall Semester | ||
| CSC泭246 | Concepts and Facilities of Operating Systems for Computer Scientists | 3 |
| CSC Restricted Elective | 3 | |
| ST泭370 | Probability and Statistics for Engineers | 3 |
| GEP Requirement | 3 | |
| Other Restricted Elective - Group A | 3 | |
| 泭 | Hours | 15 |
| Spring Semester | ||
| CSC泭326 | Software Engineering | 4 |
| CSC泭379 | Ethics in Computing | 1 |
| CSC Restricted Elective | 3 | |
| ENG泭331 | Communication for Engineering and Technology | 3 |
| GEP Health and Exercise Studies | 1 | |
| Other Restricted Elective - Group A | 3 | |
| 泭 | Hours | 15 |
| Fourth Year | ||
| Fall Semester | ||
| CSC Restricted Elective | 3 | |
| GEP Requirement | 3 | |
| GEP Requirement | 3 | |
| Other Restricted Elective - Group B | 3 | |
| Basic Science Elective | 3 | |
| 泭 | Hours | 15 |
| Spring Semester | ||
| CSC泭492 | Senior Design Project | 3 |
| CSC Restricted Elective | 3 | |
| Other Restricted Elective - Group B | 3 | |
| Free Elective | 3 | |
| GEP Requirement | 3 | |
| 泭 | Hours | 15 |
| 泭 | Total Hours | 121 |
- 1
College of Engineering CODA classes.
- 2
A grade of C or higher is required.
- 3
A grade of C- or higher is required.
- 4
One of the following two conditions regarding the major GPA is required: (l) the major GPA, which consists of all CSC courses attempted at NCSU, must be 2.0 or higher or (2) a student whose major grade point average is below 2.0 may graduate if no CSC course used to satisfy the major requirements has a grade below a C-.
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.
Anchoring one corner of the world-famous Research Triangle Park, and located in modern state-of-the-art teaching and research facilities on NC States Centennial Campus, the department and its students and faculty benefit from strong and active industry partnerships. NC State Computer Science is one of the top suppliers in the nation of new graduate hires to a number of high-tech companies, including several Fortune 500 companies, some with a substantial presence in the Research Triangle. Starting salaries for our undergraduates now average over $86,000 and show a steady increase. Opportunities are also plentiful for graduate study for those who wish to pursue the field in more depth.
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
Explore North Carolinas central online resource for students, parents, educators, job seekers and career counselors looking for high quality job and career information.
Browse the Occupational Outlook Handbook published by the Bureau of Labor Statistics to view state and area employment and wage statistics. You can also identify and compare similar occupations based on your interests.
View videos that provide career details and information on wages, employment trends, skills needed, and more for any occupation. Sponsored by the U.S. Department of Labor.
(NC State student email address required)
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. An NC State email address is required to create an account. Make an appointment with your to discuss the results.
(Available to prospective students)
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. Get started with Focus 2 Apply and see how it can guide your journey at NC State.
Professional Organizations & Societies
- 泭(ACM)
- 泭(AITP)
- 泭(NSPE)