- Technical understanding of Computer Science; Graduates should have a mastery of Computer Science as described by the core of the Body of Knowledge.
- Familiarity with common themes and principles; Graduates need understanding of a number of recurring themes, such as abstraction, complexity, and evolutionary change, and a set of general principles, such as sharing a common resource, security, and concurrency. Graduates should recognize that these themes and principles have broad application to the field of Computer Science and should not consider them as relevant only to the domains in which they were introduced.
- Appreciation of the interplay between theory and practice; A fundamental aspect of Computer Science is understanding the interplay between theory and practice and the essential links between them. Graduates of a Computer Science programme need to understand how theory and practice influence each other.
- Problem solving skills; Graduates need to understand how to apply the knowledge they have gained to solve real problems, not just write code and move bits. They should to be able to design and improve a system based on a quantitative and qualitative assessment of its functionality, usability and performance.
- Project experience; To ensure that graduates can successfully apply the knowledge they have gained, all graduates of Computer Science programmes should have been involved in at least one substantial project.
- Commitment to life-long learning; Graduates should realize that the computing field advances at a rapid pace, and graduates must possess a solid foundation that allows and encourages them to maintain relevant skills as the field evolves.
- Communication and organizational skills; Graduates should have the ability to make effective presentations to a range of audiences about technical problems and their solutions. This may involve face-to-face, written, or electronic communication. They should be prepared to work effectively as members of teams.
- Appreciation of domain-specific knowledge; Graduates should understand that computing interacts with many different domains. Solutions too many problems require both computing skills and domain knowledge.