The program’s educational mission supports the faculty in research and professional development that keeps them current in their field and in touch with current industry practices and trends.
The hallmark of the program is “hands on” experience where students follow a curriculum that builds on traditional computer science but differs from the BS in Computer Science in the following ways:
- Classes emphasize the team approach to building software and provide leadership opportunities for every student.
- Classes place an emphasis on software processes and lifecycles.
- Classes include significant learning in engineering and management areas such as quality assurance, testing, metrics, maintenance, configuration management and interpersonal management skills.
- The curriculum has a stronger emphasis on mathematics and the use of engineering methods in software design.
The software engineering curriculum culminates in a year-long capstone sequence where the students work in teams to build a large software system. Students are required to develop an ability to work in a significant application domain through the requirement of an advisor approved cooperative education experience.
Department programs are designed to be flexible. Although freshmen choose their major when they apply for admission, students can easily switch among software engineering, computer engineering and computer science since the lower division curricula are similar.