1 - Demonstrate understanding of the theory and fundamental principles of Computer Science and Software Engineering.
2 - Design and Create large-scale software systems, working within established software development methodologies.
3 - Design appropriate software architectures in accordance with enumerated requirements and constraints.
4 - Demonstrate awareness of issues surrounding the profession of Software Engineering.
5 - Demonstrate a mastery in the design of algorithms; solving problems the rough the application of mathematical and engineering principles.
6 - Implement computer programs in a variety of programming languages.
7 - Analyse and reason about computer programs.
8 - Create appropriate representations of software architectures, and communicate these to technical and non-technical audience.
9 - Be comfortable working either individually or in a team environment.
10 - Engage in self-directed professional development though personal research
11 - Present and articulate technical material through English.