Learn how to create everything—from mobile apps to complex software systems.
The Software Engineering major emphasis is built on a computer science foundation of programming, database management, web development and software engineering. Throughout the program, you’ll gain proficiency in foundational languages like Python, C, C++, SQL, and Java while also exploring modern languages such as Kotlin, Go, and Rust. You’ll develop expertise in Object-Oriented Programming, version control, Agile methodologies, and test-driven development, and dive into advanced web development and an introduction to machine learning, equipping you with the skills to tackle real-world challenges. As you enter the Software Engineering core, you’ll narrow your focus to courses like Mobile Development, Embedded Systems, and advanced courses in Software Engineering and Web Development.
With dedication and proactive effort, you’ll have the opportunity to gain real-world experience through competitive internships, which can be applied towards academic credit or simply enhance your professional skills, with top companies like HP, T-Mobile, and IBM.Through a combination of rigorous coursework and hands-on projects, you’ll develop technical skills in system architecture, software design, debugging, and optimization, preparing you to contribute to the development of scalable, maintainable, and reliable software systems. By completing the Software Engineering major emphasis, you will also earn the Software Engineering Certificate.