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 understand, 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, computer architectures, 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 | Counts towards |
|---|---|---|---|
| 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 2 | |||
| 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) | |||
| 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 | Counts towards |
|---|---|---|---|
| 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 | Counts towards |
|---|---|---|---|
| CSC泭236 | Computer Organization and Assembly Language for Computer Scientists | 3 | |
| CSC泭302 | Introduction to Numerical Methods | 3 | |
| CSC泭342 | Applied Web-based Client-Server Computing | 3 | |
| CSC泭401 | Data and Computer Communications Networks | 3 | |
| CSC泭402 | Networking Projects | 3 | |
| CSC泭405 | Computer Security | 3 | |
| CSC泭406 | Architecture Of Parallel Computers | 3 | |
| CSC泭411 | Introduction to Artificial Intelligence | 3 | |
| CSC泭412 | Compiler Construction | 3 | |
| CSC泭414 | Foundations of Cryptography | 3 | |
| CSC泭415 | Software Security | 3 | |
| CSC泭416 | Introduction to Combinatorics | 3 | |
| CSC泭417 | Theory of Programming Languages | 3 | |
| CSC泭419 | DevOps: Modern Software Engineering Practices | 3 | |
| CSC泭422 | Automated Learning and Data Analysis | 3 | |
| CSC泭431 | File Organization and Processing | 3 | |
| CSC泭433 | Privacy in the Digital Age | 3 | |
| CSC泭440 | Database Management Systems | 3 | |
| CSC泭442 | Introduction to Data Science | 3 | |
| CSC泭447 | Introduction to Cloud Computing | 3 | |
| CSC泭450 | Web Services | 3 | |
| CSC泭453 | Introduction to Internet of Things (IoT) Systems | 3 | |
| CSC泭454 | Human-Computer Interaction | 3 | |
| CSC泭455 | Social Computing and Decentralized Artificial Intelligence | 3 | |
| CSC泭456 | Computer Architecture and Multiprocessors | 3 | |
| CSC泭461 | Computer Graphics | 3 | |
| CSC泭462 | Advanced Computer Graphics Projects | 3 | |
| CSC泭467 | Multimedia Technology | 3 | |
| CSC泭471 | Modern Topics in Cybersecurity | 3 | |
| CSC泭472 | Cybersecurity Projects | 3 | |
| CSC泭474 | Network Security | 3 | |
| CSC泭481 | Game Engine Foundations | 3 | |
| CSC泭482 | Advanced Computer Game Projects | 3 | |
| CSC泭484 | Building Game AI | 3 | |
| CSC泭486 | Computational Visual Narrative | 3 | |
| CSC泭495 | Special Topics in Computer Science | 1-6 | |
| CSC泭498 | Independent Study in Computer Science | 3 | |
| CSC泭499 | Independent Research in Computer Science | 1-6 | |
| CSC 5** | |||
| ECE泭482 | Engineering Entrepreneurship and New Product Development I | 3 | |
| ECE泭483 | Engineering Entrepreneurship and New Product Development 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 | Counts towards |
|---|---|---|---|
| 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 | Web Page Development | 1 | |
| CSC泭255 | String Processing Languages | 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 | Counts towards |
|---|---|---|---|
| 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 | |
| EC 3** | |||
| EC 4** | |||
| EC 5** | |||
| ECE 3** (except for ECE泭309) | |||
| ECE 4** | |||
| ECE 5** | |||
| 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, 2 | 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 $75,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 Developers - Applications
- 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.