Do you like to work in teams to develop cool new software? Are you curious to learn how the architectures of Twitter, Snapchat or Google are designed? Do you care about the quality of the software you develop? Are you not afraid of talking to people in order to learn what their needs are so you can develop better software for them? Are you a builder who might foresee having your own software company at some point?
If you answered yes to one or more of these questions, UC Irvine’s software engineering major just might be the choice for you.
What will I learn?
The B.S. in software engineering is designed around a set of core courses that introduce the fundamentals of software engineering (requirements analysis, design and testing), programming (data structures, libraries and languages), and relevant computer science concepts (algorithms, databases, networking and operating systems). From there, nearly two dozen electives offer students the chance to specialize, focusing anywhere from systems-level engineering to the human side of developing software.
Throughout the major, students gain hands-on experience in creating a variety of software systems, giving you the opportunity to use different programming languages, apply your skills to different domains and work in different teams. This culminates in the three-quarter capstone course, in which you will be part of a team that develops a real system for a real client, typically from a company or organization outside the university.
Overall, the major strongly emphasizes the design and implementation of software systems, as well as learning how to adapt to what are the continuous new circumstances of the profession — whether it is a new client and their habits, a new programming language or technology to be used or a new team and its development practices.
Software engineers are in demand everywhere. Large Internet companies, automotive and aerospace corporations, medical and health software providers, enterprise software vendors and startups are all in need of software engineers to program, design, architect and lead the development of their software projects. Business Insider, glassdoor, CNN (#3, #7, and #8), U.S. News & World Report all highlight the excellent career prospects for software engineers in terms of job satisfaction, job prospects and salary.
Of course, graduate school in software engineering, computer science, informatics, or related field is a career path that a portion of our students also choose to take after they complete the major.
We welcome students with a variety of backgrounds. We have had many students join who already knew how to program, and many students who did not yet know how to program. Both groups are successful in the major.
If you have an interest in solving problems, aspire to creative thinking, and have an affinity with design, software engineering can be for you.
Why software engineering at UC Irvine?
- Excellence. You will be part of a world-class group of faculty and staff, who have an outstanding track record of delivering innovative educational experiences in — and beyond — the classroom.
- Depth. With no fewer than ten courses dedicated to software engineering, and dozens more on topics closely surrounding it, you receive an education that prepares you very well for the many challenges that will arise in your future career.
- Connections. Our alumni have gone on to study in some of the most prestigious Ph.D. programs, work for well-known, innovative corporations and found successful startups. We stay in touch with them, and can help connect you with for internships that complement your studies.
- Location. Orange County has a very vibrant and diverse tech industry, and is just a mere hop away from Silicon Valley.
Please see the catalogue for a detailed description of the requirements of the Software Engineering major.
Prospective and current UCI students interested in learning more about the software engineering major are encouraged to contact our vice chair for undergraduate affairs or call our Student Affairs Office at 949-824-5156 to make an appointment or to inquire about campus visit opportunities.