Computer Science (BS)
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, https://www.abet.org.
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 CODA process.
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 department’s Senior Design Center 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.
To see more about what you will learn in this program, visit the Learning Outcomes website!
Departmental Information
The Department of Computer Science is located in Engineering Building II on NC State’s 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 for Computer Scientists ^{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 Elective | 12 | ||
Other Restricted Elective 200+ | 6 | ||
Other Restricted Elective 300+ | 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 US Diversity, Equity, and Inclusion | 3 | ||
GEP Interdisciplinary Perspectives | 3 | ||
GEP Health and Exercise Studies | 2 | ||
GEP Global Knowledge (verify requirement) | |||
Foreign Language Proficiency (verify requirement) | |||
Total Hours | 121 |
- ^{ 1 }
College of Engineering CODA classes
- ^{ 2 }
Grade of C or higher required
- ^{ 3 }
Grade of C minus or higher required
Basic Science Elective
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 Elective
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 Elective 200+
Code | Title | Hours | Counts towards |
---|---|---|---|
Other Restricted Electives 300+ | 1-6 | ||
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 | 3 | |
CSC 255 | String Processing Languages | 3 | |
CSC 281 | Foundations of Interactive Game Design | 3 | |
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 | 3 | |
ECE 212 | Fundamentals of Logic Design | 3 | |
MAE 2** | 1-3 | ||
MSE 201 | Structure and Properties of Engineering Materials | 3 |
Other Restricted Elective 300+
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 440 | Game Theory | 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 Sequence^{4}
This is a sample.
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 for Computer Scientists ^{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 | 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 | 3 | |
Hours | 15 | |
Fourth Year | ||
Fall Semester | ||
CSC Restricted Elective | 3 | |
GEP Requirement | 3 | |
GEP Requirement | 3 | |
Other Restricted Elective | 3 | |
Basic Science Elective | 3 | |
Hours | 15 | |
Spring Semester | ||
CSC 492 | Senior Design Project | 3 |
CSC Restricted Elective | 3 | |
Other Restricted Elective | 3 | |
Free Elective | 3 | |
GEP Requirement | 3 | |
Hours | 15 | |
Total Hours | 121 |
- ^{ 1 }
Courses required for matriculation (CODA).
- ^{ 2 }
A grade of C or higher is required.
- ^{ 3 }
Grade of C- or higher 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 II) 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 State’s 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.