Software Engineering Program Educational Objectives and Student Outcomes

Program Educational Objectives

Depth. Software Engineering graduates will have a sufficient understanding of the field of software engineering including scientific principles, analysis techniques, and design methodologies to:

  • Be successfully employed, pursue a graduate degree, or continue their professional education

Breadth. Software Engineering graduates will have a broad liberal education enabling them to:

  • Demonstrate adaptability or leadership by, for example, being promoted, moving up to a better job, or by taking a leadership role in a team.
  • Demonstrate an understanding of the context and broader impacts of technology in their organization by, for example, engaging stakeholders outside their immediate team, or by identifying ethical, economic, cultural, legal or environmental issues related to work projects.

Professionalism. Software Engineering graduates will be prepared for modern work environments, where they will:

  • Apply their skills in clear communication, responsible teamwork, and time management by, for example, managing a team or project, working on multidisciplinary project teams, or communicating with external stakeholders.
  • Demonstrate professional attitudes and ethics by, for example, assisting colleagues in professional development (e.g. mentoring), engaging in continuing education or training, participating in professional societies, engaging in service to the community, or contributing to an employer’s efforts to comply with software licensing, protect privacy, or assure quality and safety.

Student Outcomes

Upon graduation, software engineering majors should be able to:

  • Demonstrate an understanding of the key facts, concepts, principles, and theories of software engineering.
  • Analyze real problems, and select and apply appropriate techniques from computing, mathematics and engineering to solve them.
  • Demonstrate an ability to use software development tools.
  • Model, design, build, and evaluate software systems of varying complexity based on client requirements, and subject to realistic constraints.
  • Design experiments and think critically in evaluating the design choices made and tradeoffs considered when developing software-based systems.
  • Work effectively as a member or leader in a multidisciplinary team.
  • Describe the need for and an ability to engage in continuing professional development.
  • Communicate technical information effectively, both orally and in writing.
  • Recognize the social, professional, cultural, and ethical issues involved in the use of computer technology and give them due consideration in decision making.