- Abstract Reasoning The ability to construct algorithms. Knowledge of core algorithms of computer science and the ability to use them in designing programs
- Application Areas The ability to understand the key issues in a problem domain, and to design a solution to solve the specific problem.
- Software Development Solid programming skills and the use of best practices including software design principles and software development processess
- Information Technology Understanding how technology operates in a business environment. Ability to apply I.T. to this environment.
- Languages Understanding of the different programming paradigms and the languages that exist to support them. Competence in multiple languages.
- Understanding of Computer Systems Working knowledge of computer architecture and operating systems.
- Non-technical skills Ability to work in a software development team. Ability to communicate effectively.
- Ethics Understanding of the social and ethical impacts of the discipline.
- 2010-11 assessment: abstract reasoning and software development assessment of 110 students
- 2011-12 assessment: abstract reasoning and software development assessment of 110 students + ??