At the time of graduation, all students will have the following skills: Apply knowledge of computing and mathematics appropriate to computer science.?Analyze problems and identify and define the computing requirements appropriate to its solution.?Design, implement and evaluate a computer-based system, process, component, or program to meet desired needs.?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.?Apply principles of design and development in the construction of software systems of varying complexity.?Use current techniques, skills, and tools necessary for computing practice.?Function effectively on teams to accomplish a common goal.?Understand professional, ethical, legal, security, and social responsibilities.?Communicate effectively with a range of audiences.?Analyze the local and global impact of computing on individuals, organizations, and society.?Recognize the need for continuing professional development, as well as the ability to engage in it.?