The following are apparently the proposed CAC Criterion 3 outcomes:
  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline;
  2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution;
  3. An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs;
  4. An ability to function effectively on teams to accomplish a common goal;
  5. An understanding of professional, ethical and social responsibilities;
  6. An ability to communicate effectively with a range of audiences;
  7. An ability to analyze the impact of computing on individuals, organizations and society, including ethical, legal, security and global policy issues;
  8. Recognition of the need for, and an ability to engage in, continuing professional development;
  9. An ability to use current techniques, skills, and tools necessary for computing practice.
The first of these statements is very broad (probably too broad); the following clarifies important aspects of what that means in a CS program.
  1. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices;

    An ability to apply design and development principles in the construction of software systems of varying complexity.

We should orient our outcomes statements so that it is clear that, if our outcomes are achieved, these abilities are achieved by graduates of our programs. We should have defined areas of our program (and I think we do - we would just need to map them) so that we see where students exhibit these abilities; the course outcomes should illustrate why this should be so.