students and professors discussing an assignment at a table

Computer Science / Computer Engineering

Computer scientists and engineers apply the theories and principles of mathematics and science to design computers, software, networks and processes.

What to Expect

The Computer Science and Engineering Program in the College of Engineering and Computing offers three undergraduate degree programs: a B.S. in Computer Science, a B.S.E. in Computer Engineering and a B.S. in Computer Information Systems.

The computer science degree covers the techniques, algorithms and theory necessary for building software, including subspecialties such as video games, bioinformatics and computational biology, computer forensics, geographic information systems, Web applications, enterprise computing, scientific computing and databases.

The computer engineering degree requires several classes in analog and digital circuits in addition to the core computer science classes. The degree provides students with a deeper knowledge of how computers work, thus it is for students interested in either developing computing hardware or software that communicates directly with the hardware, such as VLSI, embedded systems, device drivers, real-time operating systems, robotics and others.

The computer information systems degree has been designed jointly with the Darla Moore School of Business, and it requires that students finish a business information management minor from the Moore School, along with a core grounding in programming classes, computer networks and cybersecurity.

 

Undergraduate Degree

Among the primary fields of study that the College of Engineering and Computing supports is the area of computer science and engineering.

The curriculum for this degree program emphasizes project-based learning. Small team projects are required in most classes. These culminate in the two-semester capstone project class where students form teams and meet with a client, gather requirements, design, implement, test and deploy a software or hardware project.  

The following courses fulfill some of the requirements for a Bachelor of Science in Engineering with a major in computer engineering:

  • Algorithmic Design I and II
  • Computing in the Modern World
  • Digital Logic Design
  • Introduction to Computer Architecture
  • UNIX/Linux Fundamentals
  • Introduction to Software Engineering
  • Operating Systems
  • Embedded Systems
  • Computer Systems Engineering
  • Data Structures and Algorithms
  • Robotic Applications and Design
  • Professional Issues in Computer Science and Engineering
  • Introduction to Computer Networks
  • Advanced Digital Design

All computing majors learn the programming skills necessary to become effective software developers. However, this major is unique in that it requires a business information management minor; includes computing courses in cybersecurity, information assurance, networks and data management; focuses on practical business math and statistics; and requires only two laboratory science courses from the Carolina Core.

The following courses fulfill some of the requirements for a major in computer information systems:

  • Algorithmic Design I and II
  • Computing in the Modern World
  • Business Applications Programming
  • Computer Hardware Foundations
  • UNIX/Linux Fundamentals
  • Introduction to Software Engineering
  • Operating Systems
  • Data Structures and Algorithms
  • Professional Issues in Computer Science and Engineering
  • Introduction to Computer Networks
  • Capstone Software Engineering Project I and II
  • Database System Design
  • Information Security Principles

Professional software engineers write software for some particular domain: video games, finance, scientific simulations, business accounting, data analysis, etc. As such, they need to learn the language of their chosen domain and specialize in specific technologies. Our degree lets you specialize in your chosen domain by requiring three classes from another major, as well as three elective courses from our department.

The following courses fulfill some of the requirements for a Bachelor of Science in Computer Science with a major in computer science:

  • Algorithmic Design I and II
  • Computing in the Modern World
  • Digital Logic Design
  • Introduction to Computer Architecture
  • UNIX/Linux Fundamentals
  • Introduction to Software Engineering
  • Operating Systems
  • Programming Language Structures
  • Data Structures and Algorithms
  • Foundations of Computation
  • Professional Issues in Computer Science and Engineering
  • Introduction to Computer Networks

Computer science offers an accelerated degree program that allows undergraduate students to complete both bachelor's and master's degrees in as few as five years. The use of dual credit — courses that can be used toward both degrees — enables acceleration of the program, reducing the total enrollment time of the student by one semester.

Our Digital Studies Certificate offers an interdisciplinary exploration of digital tools, technologies, and media that will enhance any career track. This certificates bring together campus departments and disciplines and offers an opportunity to gain additional skills and earning potential beyond your major and minor.

Apply for Undergraduate Admission

Our Office of Undergraduate Admissions provides the most current information on the application process so you can check the requirements based on your current status and find university scholarships.

 

Graduate Degrees

The College of Engineering and Computing offers two master’s programs, two doctorates and two certificate programs in the areas of computer science, computer engineering, cyber security and artificial intelligence.

The master's degrees in computer science and computer engineering both provide more depth into computer science projects.

For those graduate students interested in a career in research, there are doctoral programs in computer science and computer engineering.

The Cyber Security Studies Certificate advances knowledge in cybersecurity concepts, models and technologies in order to develop defense strategies.

Gain a basic understanding of AI systems, including their capabilities and implications, and learn to develop and deploy AI systems in the Artificial Intelligence Certificate program.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Graduate Director: Marco Valtorta, 803-777-4641, mgv@cse.sc.edu
Program Contact: Satti Sri Naga Sushmitha 803-777-6959, satti@cse.sc.edu

Application information for this degree is available through The Graduate School.

Apply to Graduate School 

Learn more about The Graduate School, degree options and how to apply for admission to doctoral, master’s, certificate and combination degree programs at South Carolina.