Undergraduate and graduate degree programs in software engineering are available at several institutions across the country. Potential students should keep their career goals in mind as they learn about school options and criteria for selecting a program.
Top Software Engineering Schools
The following 4-year public and private institutions offer degree programs in the field:
| College/University | Location | Institution Type | Degrees Offered | Undergraduate Tuition (2015-2016)* |
|---|---|---|---|---|
| Massachusetts Institute of Technology | Cambridge, MA | 4-year, private not-for-profit | Bachelor's, Master's, Doctoral | $46,704 |
| Stanford University | Stanford, CA | 4-year, private not-for-profit | Bachelor's, Master's, Doctoral | $46,320 |
| University of California-Berkeley | Berkeley, CA | 4-year, public | Bachelor's, Master's, Doctoral | $13,431 (In-state) $38,139 (Out-of-state) |
| Carnegie Mellon University | Pittsburgh, PA | 4-year, Private not-for-profit | Bachelor's, Master's, Doctoral | $50,665 |
| University of Illinois - Urbana-Champaign | Champaign, IL | 4-year, Public | Bachelor's, Master's, Doctoral | $15,054 (In-state) $30,214 (Out-of-state) |
| University of Michigan - Ann Arbor | Ann Arbor, MI | 4-year, Public | Bachelor's, Master's, Doctoral | $13,856 (In-state) $43,476 (Out-of-state) |
| Georgia Institute of Technology | Atlanta, GA | 4-year, public | Bachelor's, Master's, Doctoral | $12,204 (In-state) $32,396 (Out-of-state) |
| California Institute of Technology | Pasadena, CA | 4-year, Private not-for-profit | Bachelor's, Master's, Doctoral | $45,390 |
| Cornell University | Ithaca, NY | 4-year, Private not-for-profit | Bachelor's, Master's, Doctoral | $49,116 |
| University of Texas - Austin | Austin, TX | 4-year, Public | Bachelor's, Master's, Doctoral | $9,806 (In-state) $34,676 (Out-of-state) |
*Source: National Center for Education Statistics
School Selection Criteria
Students interested in software engineering programs may want to keep these considerations in mind:
- When choosing a software engineering college, the first criterion most students consider is the type of degree programs offered. Those hoping to work in research or teaching should pursue an advanced degree in software engineering, while those who aspire to work for software companies may just need a bachelor's or master's degree.
- Internships offer students the chance to gain work experience, network with industry insiders and start to build their resumes, so undergraduates may want to seek programs where internships are readily available.
- Students in PhD and research-based master's degree programs should look for schools that have faculty members with whom they share research interests so that they can find a suitable thesis/dissertation advisor.
- Tuition varies greatly between private and public institutions that may offer the degrees, so students may want to compare financial aid options at different schools.
Bachelor's Degree Programs
At the undergraduate level, students can earn a Bachelor of Science (BS) in Software Engineering or choose the subject as a minor or emphasis area within a broader BS in Computer Science program. In these programs, students get a broad overview of the fundamental mathematical concepts that form the basis for the field of engineering, and they are also exposed to a wide variety of information technology topics, such as programming and software construction. In addition to lecture- and lab-based coursework, some programs also give students the chance to conduct undergraduate research or complete an internship with a local tech company.
Master's Degree Programs
Master's degree programs in software engineering usually lead to either a Master of Science (MS), a Master of Software Engineering (MSE) or a professional Master of Engineering (MEng) degree. Students may also choose software engineering as an area of focus within an MS in Computer Science program. Professional programs consist of advanced coursework in the theory and practice of engineering, and they prepare graduates for immediate entry into industry jobs. There are also professional programs designed specifically for experienced engineers who want to expand their knowledge in the field. Some MS programs provide a similar curriculum, while others allow students to conduct research in a particular interest area, leading to a master's thesis. In general, professional programs take 8-16 months (or 2-4 semesters) to complete, while MS programs take about two years.
Doctoral Degree Programs
Doctoral programs generally confer a PhD in software engineering or computer science, although there are a few schools that offer Doctor of Science programs in this field. Students in these programs choose a particular interest within the field of software engineering in which to conduct high-level research. Working under the supervision of a university faculty member, they ultimately produce and defend a publishable dissertation. Depending on the course of study, PhD programs can take 4-6 years to complete. Graduates generally find jobs as researchers or university professors, but they are also prepared for jobs in engineering and consulting.
Students interested in studying software engineering can pursue a bachelor's, master's or doctoral degree in the field from many 4-year institutions. When selecting a program to attend, students may want to look at internship opportunities, faculty research interests and more.
