Mission: To provide students with the world's best undergraduate education in computer science and software engineering in an environment of individual attention and support.

Software Engineering Program Educational Objectives: Graduates from the software engineering program will be prepared for many types of careers in software development. In the early phases of their careers, we expect Rose-Hulman software engineering graduates to be able to:

  • Develop complex systems (including analysis, design, construction, maintenance, quality assurance and project management) using the appropriate theory, principles, tools and processes.
  • Use appropriate computer science and mathematics principles in the development of software systems.
  • Solve problems in a team environment through effective use of written and oral communication skills.
  • Have knowledge of current issues presently involved in effectively performing duties as a software practitioner in an ethical and professional manner for the benefit of society.
  • Practice the lifelong learning needed in order to keep current as new issues emerge.
  • Develop software in at least one application domain.

Software Engineering Program Outcomes: By the time students graduate with a software engineering degree from Rose-Hulman, they will have demonstrated:

  • The ability to apply software engineering theory, principles, tools and processes, as well as the theory and principles of computer science and mathematics, to the development and maintenance of complex software systems
  • The ability to design and experiment with software prototypes
  • The ability to select and use software metrics
  • The ability to participate productively on software project teams involving students from both software engineering and other majors
  • Effective communications skills through oral and written reports and software documentation evaluated by both peers and faculty
  • The ability to elicit, analyze and specify software requirements through a productive working relationship with project stakeholders
  • The ability to evaluate the business and impact of potential solutions to software engineering problems in a global society, using their knowledge of contemporary issues
  • The ability to explain the impact of globalization on computing and software engineering
  • The ability to interact professionally with colleagues or clients located abroad and the ability to overcome challenges that arise from geographic distance, cultural differences, and multiple languages in the context of computing and software engineering
  • The ability to apply appropriate codes of ethics and professional conduct to the solution of software engineering problems
  • The ability to identify resources for determining legal and ethical practices in other countries as they apply to computing and software engineering
  • The knowledge required to understand the need for and the ability to perform in lifelong learning
  • The basic knowledge required in a software engineering application domain track