CPSC 310 will be a challenging course that we have designed to integrate many of the ideas and concepts from your prior courses in order to help you to learn how to apply them to engineering modern software systems. The official course learning outcomes (CLOs) for CPSC 310 are:
- Evaluate software engineering processes used to build modern industrial-calibre systems by justifying their benefits and tradeoffs.
- Elicit, deconstruct, and refine functional requirements and quality attributes such that they are described succinctly, completely, and precisely.
- Devise and justify high- and low-level designs to support a given set of requirements and in support of future evolutionary needs.
- Iteratively derive implementations of a design of reasonable complexity incorporating emergent design implications, and applying code-level restructuring for the sake of facilitating changes.
- Carry out the implementation of a design incorporating ethical and security implications of code-level choices and software process and methodological approaches.
- Independently acquire and apply modern and unfamiliar technology and language stacks.
- Validate systems using both black-box and white-box approaches to reason about, and improve the quality of a software system.