Why study Computer Science?
Software and computers have become ubiquitous in business, education and research settings. Today, there are scarcely any areas of human endeavor that are not touched by computer software. Computer science is about software development, and professionals in this field work as software engineers, systems analysts and systems designers, among other titles.
According to the Bureau of Labor Statistics, employment of software developers is projected to grow 21% from 2018 to 2028, much faster than the average for all occupations.
Software developers are in great demand, and their starting salaries reflect that. There are many jobs for developers in every part of the world, with a growing number of telecommuting jobs, which means that you can live almost anywhere you want. The need for new applications on smart phones and tablets, the need for innovative software for the health and medical insurance industries, and concerns over threats to computer security are factors driving the growth in this field.
Even if you have never programmed before, our computer science curriculum can transform you into a professional developer and software expert. Many of our courses are project-based and emphasize the ability to get things done. The curriculum covers the techniques, algorithms and theory necessary for building software, including sub-specialties such as video games, bioinformatics and computational biology, computer forensics, geographic information systems, web applications, enterprise computing, scientific computing, databases and more.
Major subjects included in the computer science curriculum include:
- Algorithmic Design
- Computing in the Modern World
- Digital Logic Design
- Computing Architecture
- UNIX/LINUX Fundamentals
- Software Engineering
- Operating Systems
- Programming Language Structures
- Data Structure and Algorithms
- Foundations of Computation
- Computer Networks
- Professional Issues in Computer Science and Engineering
- Capstone Computing Project
- Computer Science Electives
The curriculum also includes the Carolina Core, foundational math and science courses, and liberal arts electives. Independent study and special topics courses also provide unique learning opportunities.
Visit Undergraduate Curricula and Courses for additional details.
Application Area and Electives
Computer scientists write software for areas such as video games, finance, scientific simulations, business accounting, data analysis and more. As such, they need to learn the language of their chosen domain and specialize in specific technologies. The computer science program lets you specialize in your chosen domain by requiring a set of classes from another major, as well as a set of computer science elective courses. This group of courses can be chosen carefully to form a cluster of expertise which will give you an edge when finding employment in your chosen career field or practice. Sample clusters include:
- Game Design: Computer science classes in game development, computer graphics, and artificial intelligence; along with Media Arts classes in media culture, digital imaging, animation.
- Data Science: Computer science classes in databases, big data analytics, Bayesian networks; along with Statistics
- Bioinformatics: Computer science classes in bioinformatics algorithms, computer graphics, Bayesian networks; along with Biological Sciences
Double Major in Mathematics
Students can obtain the Bachelor of Science in Computer Science with a double major in Mathematics. Students must satisfy all the requirements for both degree programs, but we have made the process easier by identifying all the classes that overlap in topic and determining which extra ones need to be taken. The result is that significantly fewer classes are required to graduate with CS/Math double major than if both degrees were pursued separately. Students that complete the Computer Science degree with a double major in Mathematics find significant industrial demand for their combination of mathematical and programming skills.
Our capstone computing experience is a two-semester course sequence for seniors that pairs a student team with a client to design a solution to a real-world problem. Students plan the project, specify software and hardware requirements and complete system implementation, testing, verification and validation of results. Written reports and oral presentations are integrated in this technical setting.
Examples of past capstone projects include:
- Atelier: A mobile app built with the ionic framework that lets users post just their art, find and become friends with other artists, explore other beautiful artwork, and chat with fellow creatives
- Black Talon: an online massive-multiplayer web game
- Isador: an interactive language learning app for students learning Old English, also referred to as Anglo-Saxon
- MuseumKiosk: a kiosk trivia game for the South Carolina State Museum
- ThePathMostTravelled: a mobile app that allows users to see paths around the city, or place they are in, that others around them have created to discover new places and things already around them
Computer science students participate in a variety of clubs including our student chapters of:
- Association for Computing Machinery
- Cyber Security Club
- Minorities in Computing
- Women in Computing
Research opportunities in the areas of artificial intelligence, machine learning and evolution, robotics, bioinformatics and computational biology, and cyber security are available to undergraduate students. Undergraduate researchers get involved on a volunteer, course credit or paid position basis.
With other undergraduates in our college, computer science students take full advantage of living-learning communities, mentorship opportunities, study abroad, intramurals, internships, just hanging out with friends and more.
Visit Student Experience to learn more.