background image
RIT Bar Background Image

Site-wide links

Program Educational Objectives and Student Learning Outcomes

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:

  1. Help them obtain initial positions in their chosen fields.
  2. Support continued education at the graduate level.
  3. Provide a solid foundation for life-long professional growth.

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.

Program Educational Objectives

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:

  1. an ability to design, synthesize, and analyze, software systems of increasing size and complexity at various abstraction levels, from the individual component to the entire system architecture;
  2. an ability to define, assess, and tailor software quality practices, and software processes and methodologies for appropriate application on software development projects in a variety of domain areas;
  3. an ability to be an effective member of a multi-disciplinary software-intensive product development team with an awareness of individual professional and ethical responsibilities;
  4. an ability to communicate, to varied stakeholder audiences, technical concepts in a complete, concise, and correct manner in a format appropriate for the audience;
  5. an ability pursue life-long learning through graduate education, participation in professional activities, or the acquisition of new technical proficiencies, or managerial and leadership skills.

Student Learning Outcomes

By graduation, students in the Bachelor of Science in Software Engineering program will have demonstrated:

  1. an ability to apply knowledge of mathematics, science, and engineering
  2. an ability to design and conduct experiments, as well as to analyze and interpret data
  3. an ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
  4. an ability to function on multidisciplinary teams
  5. an ability to identify, formulate, and solve engineering problems
  6. an understanding of professional and ethical responsibility
  7. an ability to communicate effectively
  8. the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
  9. a recognition of the need for, and an ability to engage in life-long learning
  10. a knowledge of contemporary issues
  11. an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.

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.

Accreditation

The Bachelor of Science degree program in Software Engineering is accredited by the Engineering Accreditation Commission of ABET, http://www.abet.org.