Undergraduate Program - Bachelor of Science Degree
The Department of Computer Science in the College of Engineering at NC State University offers a Bachelor of Science in Computer Science degree. The Computer Science 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, design, implement, test, and deploy computer systems 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 exploration of more advanced areas among them 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.
The Department of Computer Science offers three undergraduate concentrations (Game Development, Cybersecurity, and Artificial Intelligence) and two undergraduate elective tracks (Security and Entrepreneurship). Concentrations appear on transcripts and tracks are recognized by letters of completion.
All Computer Science majors must complete a team project in Senior Design. Projects under the auspices of the department’s Senior Design Center 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 our Program Educational Objectives and Student Outcomes listing.