Computer Science & Computer Engineering (CS)
Computer scientists and computer engineers design and implement efficient software and hardware solutions to computer-solvable problems. They are involved in the development of areas such as high-speed networks, multimedia and creative technologies, systems design, virtual reality, data science, artificial intelligence, machine learning, and robotics.
The Student Perspective
Our students can get involved in research, internships, and student organizations related to their major. Hear from some current Viterbi students about their experiences.
“As a classically trained concert violinist, computer science came naturally to me so I chose it as my major; I'm a violinist in the USC Thornton Symphony sharing the stage with music majors. Last fall I was selected to participate in Hack Music LA, a hackathon in Walt Disney Concert Hall!”Jillian KhooB.S. Computer Science '21
“I'm part of LA Community Impact (LACI), a pro-bono social impact consulting organization. As a student consultant and project team leader, I provide local LA nonprofits with innovative recommendations to address their strategy needs.”Nihar AgrawalB.S. Computer Science '20
“The past 2 summers I have interned at Slack, a messaging platform used by many organizations and businesses. I love applying my degree to real-life situations, but it's a little weird finding bugs when my student organization's use the platform and then fixing them in my internship a few weeks later!”Yingyu SunB.S. Computer Science '19
Listen while you scroll!
CS Podcast Playlist
Check out all of our podcast episodes related to Computer Science & Computer Engineering. Whether it’s Dr. Sukhatme discussing CS at USC or current students discussing hackathons, cyber security, and internships in the Girls Who Code miniseries.
Viterbi Voices: The Podcast is your chance to hear stories about research, classes, student life, and more directly from our faculty, students, and other members of our engineering community. Click the link below to see the rest of our episodes!
Curriculum and Emphases
There are several different options within the computer science program to pursue. Check them all out!
The computer science program prepares students to work in the areas of software design, development, application and maintenance. It provides intensive study in algorithmic design and analysis as well as the theory of computing.Course Plan
Computer Science (Games)
This major offers technical and creative training for the Video Game industry. The curriculum brings numerous core areas of advanced computer science – including artificial intelligence, graphic interfaces, modeling, algorithm design – together with creative and artistic training from the School of Cinematic Arts and the Roski School of Fine Arts and Design.Course Plan
Computer Engineering & Computer Science
This program trains students to integrate hardware and software processes to design solutions to problems arising in complex domains such as atomic reactors, guidance systems, and manufacturing systems. These students graduate ready to design and build complex systems of hardware, software, and networks.Course Plan
Computer Science/Business Administration
This combined degree program allows students to study both Computer Science and Business in four years. In addition to the core computer science courses, students take courses from the Marshall School of Business such as Organizational Behavior, Marketing Fundamentals, Business Finance, and Strategic Management.Course Plan
The Department of Computer Science is not only excellent but also unique. It has more than 40 research faculty members from the world-renowned Information Sciences Institute (ISI) – a major player in the creation of the Internet- and from the Institute for Creative Technologies (ICT). Its faculty includes pioneers in modern cryptography, Internet technologies, software engineering, databases, computational neuroscience, robotics, natural language processing, computational biology and network sciences, and it has an innovative education program, including the new interdisciplinary Informatics Program as well as one of the nation’s ﬁrst programs in game development.
In addition, the USC Viterbi School of Engineering offers one of the best environments for interdisciplinary research and international collaboration in the nation. There is a strong record of innovation in the department and its afﬁliated centers: the Domain Name System and the TCP/IP protocols, the invention of DNA computing, and historic interdisciplinary studies relating brains, machines and mathematics. For example, a former student wrote one of the ﬁrst computer viruses and led the theoretical study of the computer virus concept. The accomplishments of our current faculty include path-setting results in artificial intelligence, computer vision, data science, privacy and security, robotics, software engineering, and the Academy Award winning work in computer graphics.
We have a balance of programs - theoretical, computational, and experimental – which exemplify the Viterbi School’s approach to intensive and collaborative research.
Faculty will be teaching all of your classes and leading research projects as well. Your opportunities to build relationships with your faculty will begin immediately in your first year, both in the classroom and the lab. Check out a few highlighted professors with whom you may work in the future:
Dr. Nora Ayanian
Her research group, the ACT lab, conducts research in the area of coordinated multi-robot systems, where they provide theoretically sound solutions to practically motivated problems. You may also recognize them from the drones performance at the 2017 Super Bowl Half-Time Show!
Dr. Leonard Adleman
His research focuses on algorithms, computational complexity, cryptography, DNA computing, number theory and molecular biology. He's known famously for the RSA algorithm, which allows data to be encrypted; it is one of the bedrocks of security on the internet. He's also writing a book about memes!
Don't stop here.
Learn more about the cool faculty and amazing research being done at the Computer Science & Computer Engineering Department at their website:
Your engineering undergraduate degree will prepare you for many career and academic opportunities. Whether you have always known “what you want to do when you grow up” or are hoping to find out, we are here to help you plan for your future beyond USC. We provide dedicated career services starting in your first year to help you find internships, co-ops, and full-time positions post graduation.
When you graduate with a degree in Computer Science or Computer Engineering, here are just a few of the future career paths that might lay before you.
- Build new computer circuits, microchips, and other electronic components
- Launch high tech entrepreneurial projects and ventures
- Conduct research on artificial intelligence capabilities
- Create new computer and operating systems
- Design logic devices for everyday appliances
- Improve video game consoles and devices
- Integrate hardware and software processes
- Invent intelligent robots
- Develop advanced data analytics
Don't take our word for it. Ask some Viterbi alumni:
“While completing my degree, I interned with the Walt Disney Company as a Software Engineer where I helped test user interfaces for web application. My first job after graduation was with NASA's Jet Propulsion Laboratory where I worked with quality engineers to develop tools for inspection of spacecraft.”Lauren DensonB.S. Computer Engineering & Computer Science '13
“My experience at a SpaceX internship cemented my interest in rocket propulsion. I am now part of a brand new propulsion program at Virgin Galactic, where I'm working to develop VG's first liquid rocket engines.”Andrew BorbaB.S. Computer Science '14
“While at USC, I interned at Microsoft, as an undergraduate Research Assistant for the Software Architecture Research Group, and served in a leadership capacity in several student orgs. I am now a Rotational Software Engineer at Intuit working with Mint.com in San Francisco.”Anita SinghB.S. Computer Science '13
We want students who like to work hard – both in and out of the classroom. Our students know that going to college is more than attending class and completing assignments. College is about making connections and joining a community of dedicated students, faculty, staff, and alumni. Our students want to work and play with people as interesting as they are, and we have a number of ways for you to do the same.
Your life can be designed how you like it. Join a design team like Autonomous Underwater Vehicle. Continue your passion for volunteering with Code the Change. Keep making art with Corpus Callosum. On this page, we have a few student organizations we think you might be interested in, but there are so many more you can get involved in!
Imagine yourself on campus.
Learn more about life at USC as an engineering student at Viterbi Voices:
More Engineering Disciplines
You just learned so much about Computer Science & Computer Engineering, but that’s just the tip of the iceberg. Beyond this department, Viterbi has ten academic disciplines spread across eight departments to make up more than thirty major combinations. Take some time to explore all of your interests.