Program Educational Objectives
The software engineering program is preparing graduates, within a few years of graduation, to:
Contribute as a software engineering professional
- Apply knowledge of software engineering practice and process.
- Work within a broader institutional and societal context.
Exercise technical and professional leadership
- Innovate and improve technologies and processes.
- Progress in responsibility.
- Integrate ethical and professional concerns.
- Continue to learn.
- Adapt to changing solution approaches, technologies, and processes.
- Demonstrate personal accountability.
- Communicate to a variety of audiences.
- Display interpersonal skills.
- Cooperate in and facilitate team work.
Upon successful completion of the software engineering program, graduates will have:
- an ability to apply knowledge of mathematics, science and engineering.
An ability to apply continuous and discrete mathematics, probability and statistics, computer science, software engineering practices and processes.
- an ability to design and conduct experiments, as well as to analyze and interpret data.
An ability to evaluate the performance of software systems, and to propose and evaluate process changes based on individual and team metrics.
- 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.
An ability to perform detailed and architectural design of software components and systems while satisfying functional and non-functional requirements.
- an ability to function on multidisciplinary teams.
- an ability to identify, formulate, and solve engineering problems.
An ability to elicit and document software requirements, and to propose and evaluate designs and processes to meet them.
- an understanding of professional and ethical responsibility.
An understanding of the critical role played by software systems, the professional responsibilities of software engineers, and ethical issues that may be encountered in engineering practice.
- an ability to communicate effectively.
- the broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
- a recognition of the need for, an an ability to engage in, lifelong learning.
- a knowledge of contemporary issues.
An awareness of trends in the software engineering discipline and of societal issues that affect software engineering practice.
- an ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
An ability to use modern software engineering tools, programming languages and environments, project planning and tracking systems, specification and verification techniques.