Software Engineering Stream Learning Outcomes

  1. demonstrate a solid understanding of the software engineering knowledge and skills, necessary to begin practice as a software engineer

  2. ability to appropriately define and apply relevant abstractions from algorithmics, computer science, and mathematics to complex software system development

  3. ability to design and build a system, component, or process to meet desired needs within realistic constraints such as technical, economic, security and ethical constraints

  4. ability to think at multiple levels of detail and abstraction encompassing an appreciation for the structure of computer systems and the processes involved in their construction and analysis 9

  5. ability to think and design software systems from the perspective of the end user and to communicate clearly and effectively with business stakeholders

  6. have the understanding that software interacts with many different domains and the ability to be able to communicate with, and learn from, practitioners from different domains

  7. be knowledgeable about current software engineering practices in the workplace, collaborative software development and management processes and their role in the development of quality software systems