According to the U.S. Bureau of Labor Statistics (BLS), working in the field of computer software development typically requires at least a bachelor's degree in software engineering or a related discipline, and job seekers with this degree or higher will have the best opportunities in the field. Prospective students should first look for a school that offers software engineering as a major.
Software Engineering Schools
The following list includes a number of public and private schools that offer software engineering programs. Some of the institutions offer degrees in computer engineering that include coursework or focus areas related to software development or engineering.
|College/University||Location||Institution Type||Degrees Offered||Undergraduate Tuition (2018-2019)*|
|Carnegie Mellon University||Pittsburgh, PA||4-year, Private not-for-profit||Bachelor's, Master's, Doctoral||$55,465|
|Massachusetts Institute of Technology||Cambridge, MA||4-year, Private not-for-profit||Bachelor's, Master's, Doctoral||$51,832|
|University of California Berkeley||Berkeley, CA||4-year, Public||Bachelor's, Master's, Doctoral||In-state $14,184; Out-of-state $43,176|
|University of Illinois Urbana-Champaign||Champaign, IL||4-year, Public||Bachelor's, Certificate||In-state $15,094; Out-of-state $31,664|
|University of Michigan Ann Arbor||Ann Arbor, MI||4-year, Public||Bachelor's, Master's, Doctoral||In-state $15,262; Out-of-state $49,350|
|Georgia Institute of Technology||Atlanta, GA||4-year, Public||Bachelor's, Master's||In-state $12,424; Out-of-state $33,020|
|Cornell University||Ithaca, NY||4-year, Private not-for-profit||Bachelor's, Master's, Doctoral||$55,188|
|Princeton University||Princeton, NJ||4-year, Private not-for-profit||Bachelor's, Master's, Doctoral||$50,340|
Source: *National Center for Education Statistics (NCES)
School Selection Criteria
There are some key things to consider when choosing a software engineering program.
- Schools with higher student-to-faculty ratios must utilize teaching assistants, especially for the hands-on lab work, giving students less time with faculty members who have the most professional and research experience.
- Students may want to consider the breadth of a program's internship and co-op opportunities, in which students gain skills and first-hand job experience in the field, as well as a network of professional contacts.
- Students who want to obtain managerial or other specialized positions in software engineering should consider programs that offer more specific education tracks that will help them secure careers in the fields closest to their interests.
Bachelor of Science
The software engineering undergraduate degree program combines the disciplines of computer science, electrical engineering, physics and mathematics. Many of these courses have required lab work. After obtaining this degree, students should have the skills and tools to work independently in the professional field of software development.
Master of Science
This graduate degree is typically for professionals already working in the field of software development who want to broaden their education and gain some additional managerial experience. Some schools offer a Master of Software Engineering, but the coursework and curricula are essentially the same as the Master of Science. Some schools require that students complete a final project before obtaining their degree.
Aspiring computer software developers can pursue undergraduate and graduate studies at many public and private institutions. Students may want to consider the student-to-faculty ratios, range of concentration areas offered, and whether a program has internship options when selecting a school.