RIT's primary mission is career education in a variety of professional disciplines. Within engineering and computing this is interpreted to mean that graduates will have the knowledge and skills that:
In a field changing as rapidly as software engineering, reaching these goals is a daunting challenge. Still, it is our belief that the field has matured to the point where fundamental principles have been established, and these principles provide the background for specific program objectives and outcomes.
The current program educational objectives for the Bachelor of Science program are that in three to five years after graduation, software engineering graduates can demonstrate:
By graduation, students in the Bachelor of Science in Software Engineering program will have demonstrated:
The following table provides a basis for these student learning outcomes in the context of software engineering activities.
| Program Outcomes in the context of software engineering activities | |
|---|---|
| (a) | Use of formal methods, use of finite state machines, software quality measurement and analysis, applications of CS theory, requirements gathering, software system design. |
| (b) | Design and analysis of usability tests, system debugging, testing and analysis, performance testing and analysis, project metric tracking. |
| (c) | Design to constraints and requirements; scope management for time constraints; addressing non-functional "ilities", such as, maintainability, testability, or evolvability; software security. |
| (d) | Working on teams, working in project domain areas where you have little or no experience. |
| (e) | Identifying project constraints and solutions, problem decomposition, requirements elicitation, design trade-off analysis. |
| (f) | Working with assignments in critical domains requiring consideration of safety and security, consideration of professional ethics and behavior, discussion of code of ethics, being a member of a team and participating in a professional manner, professional responsibility to provide fair and honest peer evaluations. |
| (g) | Preparation of documentation and presentations; making presentations; participating in team meetings, brainstorming session, code reviews and walkthroughs, or artifact reviews; customer or project sponsor interactions; use of discussion forums, such as, online discussions, blog, wikis. |
| (h) | Feasibility analysis, environmental impact analysis, support for different languages, and usability analysis for people with impairments. |
| (i) | Using a new development tool, software framework, or programming language; discussion of careers and professional activity; working on problems requiring outside of class research. |
| (j) | Discussions of the profession, use of new technology or methodologies, effects of new methods to collaborate and communicate. |
| (k) | Using process methodologies, design methodologies, development tools, software frameworks, programming languages, middleware. |
While we believe these program educational objectives and student learning outcomes are appropriate, we realize that they must be continuously reevaluated in terms of feedback from our primary constituencies: students and employers. In the case of students, cooperative education reports provide immediate but short-term evaluation of the curriculum. The program's Industrial Advisory Board (IAB) supplies a more strategic perspective - the IAB meets once a year to review the current status and to both initiate and evaluate changes to the curriculum.
The Bachelor of Science degree program in Software Engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.