Computer Science: What to Expect
Computer Science majors at the University of South Carolina will develop a wide array of skills and be exposed to hands-on experiences to help enhance their educational experiences while at the University. The Computer Science majors 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, database, and others. As a Computer Science major, you will develop key skills including algorithmic thinking, the ability to develop large software projects, the ability to work well in groups, and the ability to communicate complicated technical knowledge to the lay public. In your Capstone Project, during the second semester of your senior year, you will have the opportunity to work on developing working solutions for real-world problems with clients, often nonprofit organizations in need of some custom software. The Computer Science major is in the Computer Science and Engineering 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
The College of Engineering and Computing offers a degree with distinction for students that have an experience studying abroad. There is a 12 to 1 student-faculty ratio in major specific courses. A detailed list of degree requirements can be found in the Undergraduate Bulletin.
Enhancing your Experience
Study Abroad allows you to earn academic credits toward your USC degree while seeing the world! Overseas study can complement any academic program or major. The Computer Science and Engineering Department encourages students to spend a semester studying abroad. You may also choose to intern, volunteer, or conduct research abroad. You are encouraged to visit the Study Abroad Website for more information on opportunities to broaden and extend your knowledge and perspectives.
Student Organizations can be instrumental in helping you adjust to life on campus and network within your field. The University of South Carolina has a family of nearly 300 student organizations. As a Computer Science major, you can get involved with the Association for Computing Machinery, a professional organization on campus for software developers. You may also choose to get involved in annual competitions such as video game tournaments or Fix-IT day where students fix computers for anyone that shows up! Find a student organization on campus that interests you!
Graduate School is one of many possibilities following graduation. Computer Science majors typically go on to pursue Masters and Doctorate degrees in Computer Science.
Departmental Scholarships may be awarded to outstanding entering freshmen or current students. Scholarships that incoming freshman are eligible for include the Cassidy Fae Pendley Memorial Scholarship in Engineering; Engineering Faculty, Student, and Alumni Scholarship; Harold S. Wrenn Bicentennial Scholarship; and the Michelin North America, Inc., Endowed Scholarship. The College of Engineering and Computing offers more than 60 additional scholarships each year.
Associated Learning Communities are an integral part of the university experience. These communities provide you with the opportunity to live in an environment that promotes diversity, embraces excellence, encourages insightful faculty-student interaction and works to develop a strong sense of community. These academically themed communities also emphasize active service-learning experiences, study-abroad opportunities and undergraduate research. First-year students in the College of Engineering and Computing may choose to live in the Engineering and Computing Community. Students will benefit from increased interaction with faculty and go on excursions to places such as Bose and BMW’s plants in South Carolina.
Internship and Research Opportunities
Internships can be an important asset to your overall educational experience. Internship experiences often help you confirm your career interests, give you hands-on experience in a professional setting, help build your resume, reinforce what you’ve learned in class and can often lead to full-time employment. Likewise, pursuing professional research opportunities as an undergraduate student can also help enrich your academic experience while at the University. As an undergraduate student, you can work closely with faculty research mentors and explore a discipline that interests you. Both internship and research opportunities help you build a competitive edge in the job market.
As a USC student you will have numerous resources at your disposal to assist you with locating internship and research opportunities. The USC Career Center is the central location at USC for assisting students with internship preparation and finding an internship. In addition, be sure to visit your academic department as many programs offer supplemental internship guidance specific to your major. The USC Career Center operates a satellite office in the College of Engineering and Computing providing convenient access for students to obtain career guidance, as well as to participate in employer information sessions and on-campus interviews. The Office of Undergraduate Research assists all USC undergraduates by providing research and scholarly experiences in their chosen fields.
Computer Science major Robert Burris added valuable experience to his resume through a summer internship with The Boeing Company in St. Louis, Missouri. Robert worked in Manufacturing Product Systems for the IT Department and developed Java Web Applications. Robert was able to gain leadership and communication skills through hosting and leading project demos, phone and web conferences, and meetings. He also had the opportunity to develop technical skills. “I learned about the various careers and roles in the Boeing IT Organization Structure,” he said. “I acquired a huge amount of technical skills such as dependency injection, aspect oriented programming, task scheduling, transaction management, and project management. I also improved in my leadership and communication skills. Lastly, I was able to learn more about St. Louis and the culture and attractions it has to offer.”
In addition to technical skills, Robert was able to learn more about his field. “I learned that Computer Science offers a vast array of opportunities for careers as opposed to solely IT support. I had the opportunity to work in multiple teams and roles as taught in my courses and the ability to take on different levels of responsibility.” During his internship, Robert had the opportunity to network with several corporate executives and students from colleges across the country. Robert developed skills at Carolina that were helpful during his internship. “USC helped me prepare for my internship and research experiences by providing several opportunities for research, state-of-the-art resources for students to utilize, and an enormous campus surrounded by new and thriving businesses, which provides students with endless networking opportunities.” Robert encourages current students to create and explore as many opportunities in college as possible by finding campus jobs, talking to graduate students and communicating with faculty members outside of classes. “Students should create personal relationships with professors in addition to excelling academically in courses, which greatly increases the chances for future research, internship, or even job opportunities.”
Computer Science majors have a variety of career opportunities following graduation. Typical job titles for new graduates include software engineer, software developer, system analyst, and database manager. Many seek jobs in software development, business, law, computer security, and IT. Some graduates have even gone on to pursue jobs on Wall Street. Computer Science majors earn $56,000 on average as a starting salary.
You can find more information about career options in the US Department of Laborís Occupational Outlook Handbook.
The USC Career Center offers numerous resources which provide more information about career opportunities for students in this major. Once admitted, a Career Development Coach
In 1995, Rob Lewis’ family got a PC with Internet access for Christmas. Since then, Rob has been fascinated by all that could be done with computers. Rob Lewis is a 2009 Computer Science graduate and currently works as a Software Developer at The Vanguard Group in Charlotte, N.C. Rob’s primary jobs is to diagnose issues in Vanguard’s applications. “Any problems that occur go immediately to my team, where we take the first look at this issue,” he said. For Rob, the most exciting part of his job is being able to see all the different components of Vanguard’s system working together in the production environment. “It’s amazing how many different pieces of the system are used to produce all the data and functionality needed for even one page of the website.” One of Rob’s most visible accomplishments while at Vanguard has been rewriting code to reduce its average runtime from 8 hours to just one hour. The University of South Carolina offered a wide variety of courses that helped prepare Rob for his current position. “USC’s Computer Science program is project focused, which is key to becoming a better programmer,” he said. “Also, the University offers several classes in software design and design patterns, which are applicable to any development project.” While at the University, Rob got additional experience by interning for South Carolina Electric and Gas. “I got the opportunity to work on many real-world projects, which in turn directed my coursework at USC.” Rob encourages current students to seek out internship opportunities that allow them to put what they’re learning into practice. He also encourages students to work in a team environment and learn to communicate effectively with each other.
About the College of Engineering and Computing
The College of Engineering and Computing at the University of South Carolina is composed of five departments: Chemical Engineering, Civil and Environmental Engineering, Computer Science and Engineering, Electrical Engineering, and Mechanical Engineering. The College offers nine undergraduate degree programs. The College of Engineering and Computing has been undergoing an unprecedented growth in research and scholarship and its faculty excel in a variety of areas including Biomedical Engineering, Bioinformatics, and Atomic Level Engineering. The College also offers several options for graduate studies including a Certificate of Graduate Studies, Master of Engineering in Computer Science and Engineering, Master of Science in Computer Science and Engineering, and a Doctor of Philosophy in Computer Science and Engineering.
Points of Pride
- A national report issued on September 28, 2010 shows that USC and the College of Engineering and Computing are home to some of the South’s best doctoral programs including Chemical Engineering (ranked 7th in the South), Electrical Engineering (ranked 7th nationally and first in the South), and Mechanical Engineering (ranked 7th in the South).