Ability to apply knowledge of computing and mathematics appropriate to the discipline.
Ability to analyze a problem, identify and define the computing requirements appropriate to its solution;
Ability to design, implement, and evaluate a computer-based system, process, component, or program to meet the desired needs;
Ability to function effectively in teams to accomplish a common goal;
An understanding of professional, ethical, legal, security, social issues, and responsibilities.
Ability to communicate effectively with a range of audiences.
Ability to analyze the local and global impact of computing on individuals, organizations, and society.
Ability to recognize the need for and to engage in continuing professional development.
Ability to use current techniques, skills, and tools necessary for computing practice.
Ability to apply mathematical foundations, algorithmic principles, and computer science theory. These are necessary for the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
Ability to apply design and development principles in the construction of complex and noncomplex software systems.
Ability to study, evaluate, and decide on the most appropriate programming language.
Ability to understand the design and organization of computer systems to enhance software.
Ability to understand data interaction, communication, and security.