To become a software engineer, you’ll need to study computer operating systems, programming languages, and software development. You’ll also need to develop your people skills to be able to communicate well with clients and coworkers. You could go on to create computer games, business software, middleware, or your own operating systems.
The average income for a software engineer in the United States is over $100,000. The field is growing rapidly, which means that new positions are constantly being created — and filled by college graduates, even if they’re new to the field.
As a software engineer, your job will be to create software that meets your clients’ needs. You’ll design complex programs and convert those instructions into a language that existing computer programs can understand.
Plenty of colleges offer software engineering as an undergraduate degree. But which schools are the best fit for students who want to become software engineers?
Read on to discover our favorite options for undergrads. Because we value individual fit over rankings, we’ve listed them alphabetically.
Carnegie Mellon University
This private university is located in Pittsburgh, Pennsylvania. It was founded in the year 1900 by Andrew Carnagie, who gave the school its motto: “My heart is in the work.” Over seven thousand undergraduates attend Carnegie Mellon University each year. There are an equal number of post-grads for a combined population of 14,500 students.
Carnegie Mellon University has an entire school devoted to computer science. The School of Computer Science offers the following degrees to undergraduates:
- Bachelor of Computer Science and Arts
- Bachelor of Science in Computational Biology
- Bachelor of Science in Computer Science
- Bachelor of Science in Artificial Intelligence
- Bachelor of Science in Human-Computer Interaction
- Bachelor of Science in Music and Technology
- Additional Major in Computer Science
They also offer the following minors:
- Minor in Computer Science
- Minor in Language Technologies
- Minor in Robotics
- Minor in Software Engineering
- Minor in Neural Computation
- Minor in Human-Computer Interaction
- Minor in Machine Learning
- Minor in Computational Biology
The Computer Science program is designed around computer science courses and augmented by a wide range of courses relating to science and the humanities. General education requirements include mathematics and probability coursework that provide the necessary foundation to keep up with a field that’s constantly evolving. Following this foundation, project-oriented courses give you the experience you’ll need to succeed.
Students completing the Bachelor’s Degree in Computer Science program are required to complete either a minor or a concentration. Options include:
- Human-Computer Interaction
- Integrative Design, Arts and Technology
- Information Security, Privacy and Policy
- Language Technologies
- Machine Learning
- Neural Computation
- Software Engineering
The Bachelor of Computer Science and Arts (BCSA) option is an intercollegiate program that prepares students for careers in game design, computer animation, computer music, recording technologies, and more. BCSA students have a choice of five areas of concentration: Architecture, Art, Design, Drama or Music.
Carnegie Mellon also has satellite classes for students who wish to pursue a Masters; one of these campuses is located in Silicon Valley and focuses on Computer Engineering. Many consider this program to be the best in the country.
Georgia Institute of Technology
Georgia Tech is a public research university located in Atlanta. Founded in 1885, its motto is Progress and Service. Although it’s close to downtown Atlanta, Georgia Tech has a sprawling campus with a fair amount of greenery. Over 15,000 undergraduates and 20,000 postgraduates attend this university each year.
Core requirements for a Computer Science degree include English Composition, Calculus, Lab Sciences, Social Sciences, Probability, Statistics, and Ethics. In their junior year, students must complete a Junior Design Requirement by completing an original project or research option.
The Threads curriculum at Georgia Tech allows students to design a custom curriculum and develop their passions while studying software engineering. There are eight Threads:
- Info Internetworks
- Modeling and Simulation
- Systems and Architecture
Each Thread has its own prerequisites, required courses, knowledge goals, and skill outcomes.
There are two mentoring programs available through the College of Computing. First-year students have mentors to help them adjust to campus life and engage with college programs. The Mentor Jackets program offers one-on-one mentoring from Georgia Tech alumni.
Massachusetts Institute of Technology
Massachusetts Institute of Technology is a private research university in Cambridge that hosts roughly 4,500 undergraduates each year. Founded in 1861, MIT is one of the most selective schools in the country. Its motto Mens et Manus means Mind and Hand.
MIT occupies 166 acres along the Charles River. It operates according to a 4-1-4 academic calendar. The fours represent the two semesters, and the one represents the Independent Activities Period, a one-month term that occupies the month of January.
The student-faculty ratio at MIT is three to one.
Students don’t declare a major when applying to MIT. They spend their first year undeclared before committing to a specific course of study. MIT’s General Institute Requirements include:
- Science Core (Biology, Chemistry, Calculus, and Physics)
- Humanities, Arts, and Social Sciences (HASS) Requirement
- Lab Requirement
- Restricted Electives in Science and Technology (REST) Requirement
- Physical Education Requirement (this includes a swim test)
In addition to a minor in computer science, The College of Computing offers the following courses of study:
- Electrical Science and Engineering
- Electrical Engineering and Computer Science
- Computer Science and Engineering
- Computer Science and Molecular Biology
- Computation and Cognition
- Computer Science, Economics, and Data Science
- Urban Science and Planning with Computer Science
The Department of Mathematics offers a degree in Mathematics with Computer Science.
Stanford is located in central California. It’s close to San Francisco, beaches, mountains, and state parks filled with redwood trees. Founded in 1885, Stanford was one of the first universities to offer a nonsectarian education to both men and women. Their motto, Die Luft der Freiheit weht, means ‘The wind of freedom blows’.
Stanford offers a choice of 40 academic departments for undergraduates, all located on the same sprawling campus. Its buildings were modeled after California’s Spanish missions; they have sandstone walls and red tile roofs.
There are upwards of sixteen thousand students at any given time, with around 7,000 undergraduate students. Admission is highly competitive. Stanford has a student-to-faculty ratio of five to one.
First-year students are assigned a Stanford Newcomer Guide (SNG) to help them transition to college life. Stanford encourages students to declare a major their first year and change majors later if it’s not a good fit.
Computer Science majors at Stanford can choose from one of these tracks:
- Artificial Intelligence
- Computer Engineering
- Human-Computer Interaction
- Individually Designed
Students have the opportunity to try out multiple tracks before committing to one. Because the gateway courses for each track also count towards the elective requirements for the Computer Science major, students can sample a variety of courses without falling behind. Students can also choose to take the Unspecialized or Individually Designed tracks if they want to continue taking a wide variety of courses.
All Stanford Computer Science majors must also take classes in:
- Mathematical Foundations of Computing
- Introduction to Probability for Computer Scientists
- Electricity and Magnetism
- Programming Abstractions
- Introductory Electronics
- Technology in Society
- Principles of Computer Systems
- Programming Abstractions
- Computer Organization and Systems
- Data Structures and Algorithms
All Stanford students must fulfill a senior project requirement. Computer Science majors can take a senior project class, undertake individual research with a faculty member, take a directed research class, or complete a two-quarter course called Project Experience with Corporate Partners.
There’s a Computer Science summer research program called CURIS. In this ten-week program, students can do paid work with a faculty member. There are also research positions available to students during the academic year.
Stanford also offers a degree in Music, Science, and Technology. Students interested in both computer science and music can study at the Stanford Center for Computer Research in Music and Acoustics. Course offerings include:
- Introduction to Creating Electronic Sounds
- Foundations of Sound Recording Technology
- Computer Music Improvisation and Algorithmic Performance
- Composition and Performance of Music with Electronics
- Online Musical Jamming
Students could also choose to major in Symbolic Systems. Students in this major take courses in cognitive science, computer programming, computational theory, probability, cognitive psychology, linguistics, and artificial intelligence.
UC – Berkeley
The University of California at Berkeley, was established in 1868. UC Berkeley is a public land-grant research university with over 30,000 undergraduate students and a 1,232-acre campus. The UC motto is Fiat lux: Let there be light.
Berkeley is located just across the bay from San Francisco. UC Berkeley has over one thousand student organizations and thousands of public service projects. Despite educating tens of thousands of students each year, the majority of classes have under twenty students.
At UC Berkeley, students interested in software engineering can choose to pursue a BS in Electrical Engineering and Computer Sciences through the College of Engineering or a BA in Computer Science through the College of Letters & Science. All students with a declared major also have the option of earning a minor in Computer Science. There is also a five-year BS/MS program available. All of these options require software engineering courses.
University of Illinois at Urbana-Champaign
You may not have heard of this school, but its computer science program is one of the best in the nation. The University of Illinois at Urbana-Champaign is a public land-grant university that was founded in 1867. Their motto is Learning and Labor.
Over 34,000 undergraduates study at the University of Illinois at Urbana-Champaign each year. This school offers nearly 5,000 courses in more than 150 fields of study across nine undergraduate divisions. There are ample research opportunities for undergraduates.
The Grainger College of Engineering offers the following Computer Science programs:
- B.S. in Computer Science
- B.S. in Mathematics & Computer Science
- B.S. in Statistics & Computer Science
- CS + X Degree Programs
- Minor in Computer Science
The CS + X Degree Programs offer students the opportunity to delve into a field that interests them while earning their Computer Science degree. Options include:
- Computer Science + Advertising
- Computer Science + Animal Sciences
- Computer Science + Anthropology
- Computer Science + Astronomy
- Computer Science + Chemistry
- Computer Science + Crop Sciences
- Computer Science + Economics
- Computer Science + Geography & Geographic Information Science
- Computer Science + Linguistics
- Computer Science + Music
- Computer Science + Philosophy
Regardless of their choice of specialization, students must complete the same basic requirements listed by Illinois and by The Grainger College of Engineering. You can view a complete list here.
Students can also choose to earn a BS in Computer Engineering. Within this curriculum, students are able to concentrate on the sub-discipline(s) of their choice. Options include:
- hardware systems
- cyberphysical systems
- foundations and theory
- software and languages
- algorithms and mathematical tools
- trust, reliability, and security
- networking, mobile, and distributed computing
- big data analytics and systems
- artificial intelligence, robotics, and cybernetics
There are also Bachelor and Master combination-degree programs available in Computer Science and Computer Engineering.
UC – Irvine
Founded in 1965, UC Irvine is one of the younger schools within the UC system. Irvine is located in Orange County, California. Over 30,000 undergraduates attend UC Irvine each year. The campus spans 1,500 acres and is centered around Aldrich Park.
The UCI Donald Bren School of Information and Computer Sciences offers the following undergraduate degrees:
- Business Information Management
- Game Design and Interactive Media
- Computer Science
- Computer Science and Engineering
- Data Science
- Software Engineering
- Information and Computer Science
The Software Engineering major focuses on:
- fundamentals of software engineering (requirements analysis, design and testing)
- programming (data structures, libraries and languages)
- computer science (algorithms, databases, networking and operating systems).
The Informatics major focuses on:
- fundamentals of informatics (human computer interaction, design)
- software (programming, requirements analysis)
- human behavior (social analysis of computerization)
Students of Game Design and Interactive Media take hands-on courses in game programming, game design and development, visual design, interactive storytelling, data science, and game studies. They complete a two-quarter capstone project their senior year.
Students can also major in Computer Engineering through the Department of Electrical Engineering and Computer Science. This major includes courses in Advanced Programing, System Software, and Software Engineering.
The University of Texas at Austin
The University of Texas at Austin was founded in 1883. Over 40,000 undergrads attend UT Austin each year.
The Department of Computer Science is a part of The College of Natural Science. Students have a choice of five programs. They can earn one of the following:
- Bachelor of Science (BS)
- Bachelor of Science and Arts (BSA)
- Bachelor of Arts (BA)
- Bachelor of Science (BS) – Turing Scholars (an honors program)
- Bachelor of Science (BS) – Teaching (designed for students who want to pursue careers as secondary school teachers)
The BS requires more mathematics, science, and computer science than the BA does. Students who pursue a BA often pursue concurrent majors or minors. The BSA includes a built-in minor or certificate and broader liberal arts and humanities choices than the BS does. There is also an integrated BS/MS program available to students who want to earn two degrees in five years.
Computer Science majors have a choice of concentrations:
- Big Data
- Computer Systems
- Game Development
- Machine Learning and Artificial Intelligence
- Mobile Computing
Students who choose Game Development enter into the GAMMA program — that’s Game and Mobile Media Applications. It combines experts from three departments: Computer Science, Fine Arts, and Radio-Television-Film. Coursework includes Computer graphics, Game Technology, and a project-based capstone course.
Students also have the option of studying Electrical and Computer Engineering through the College of Engineering or Management Information Systems through the McCombs School of Business. UT students could also pursue a double major — called a “simultaneous major” by The University of Texas.
UT offers certificates in Scientific Computing, Computational Science and Engineering, Information Studies, and other useful fields. They also offer a minor in Business Entrepreneurship.
The College of Natural Sciences offers students the opportunity to participate in research beginning in their first year. The Freshman Research Initiative invites students to explore unanswered questions in the field of their choice. Research streams include Energy Analytics and Autonomous Robots. There are 31 research streams in all!
More Excellent Software Engineering Options
There are other amazing programs to consider. Look into these schools:
- Auburn University
- California Institute of Technology
- California Polytechnic State University
- Cornell University
- Drexel University
- Iowa State University
- Miami University
- Michigan Technological University
- Milwaukee School of Engineering
- North Carolina State University
- Stevens Institute of Technology
- University of Southern California
- The University of Texas at Dallas
Conclusion: Best Software Engineering Schools
Are you feeling overwhelmed by the process of sorting through schools and deciding where to apply? Do you need help preparing for college, writing your admissions essays, and keeping track of deadlines? Our team of experts can help you with all of that and more. Click the link below to learn more.